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
package/dist/guards.cjs DELETED
@@ -1,297 +0,0 @@
1
- "use strict";
2
- /**
3
- * Type guard functions and runtime type checking utilities.
4
- *
5
- * This module provides various type guard functions for runtime type checking,
6
- * including guards for Zod schemas, constructors, {@link PromiseLike} objects,
7
- * and assertion parts. These are used throughout the library for safe type
8
- * narrowing and validation.
9
- *
10
- * @module guards
11
- * @category API
12
- * @example
13
- *
14
- * ```ts
15
- * import * as guards from 'bupkis/guards';
16
- * ```
17
- */
18
- Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.isExpectItExecutor = exports.isError = exports.isA = exports.isPhrase = exports.isPhraseLiteralChoice = exports.isPhraseLiteral = exports.isWeakKey = exports.isNonNullObject = exports.isString = exports.isFunction = exports.isBoolean = exports.isConstructible = exports.isPromiseLike = exports.isZodPromise = exports.isObject = exports.isStandardSchema = void 0;
20
- exports.isZodType = isZodType;
21
- const constant_js_1 = require("./constant.cjs");
22
- const { isArray } = Array;
23
- function isZodType(value, type) {
24
- const isValid = (0, exports.isObject)(value) &&
25
- 'def' in value &&
26
- !!value.def &&
27
- typeof value.def === 'object' &&
28
- 'type' in value.def;
29
- if (!isValid) {
30
- return false;
31
- }
32
- if (type === undefined) {
33
- return true;
34
- }
35
- return value.def.type === type;
36
- }
37
- /**
38
- * Returns `true` if the given value implements the Standard Schema v1
39
- * interface.
40
- *
41
- * This guard checks for the presence of the `~standard` property with the
42
- * required shape (version 1, vendor, validate function). It can detect any
43
- * Standard Schema compliant library including Zod v4 (which implements the
44
- * spec).
45
- *
46
- * @function
47
- * @param value - Value to test
48
- * @returns Whether the value is a Standard Schema v1 instance
49
- * @see {@link https://standardschema.dev | Standard Schema Specification}
50
- */
51
- const isStandardSchema = (value) => {
52
- return ((0, exports.isObject)(value) &&
53
- '~standard' in value &&
54
- (0, exports.isObject)(value['~standard']) &&
55
- 'version' in value['~standard'] &&
56
- value['~standard'].version === 1 &&
57
- 'vendor' in value['~standard'] &&
58
- typeof value['~standard'].vendor === 'string' &&
59
- 'validate' in value['~standard'] &&
60
- typeof value['~standard'].validate === 'function');
61
- };
62
- exports.isStandardSchema = isStandardSchema;
63
- /**
64
- * Type guard for a plain object.
65
- *
66
- * @function
67
- * @param value Value to test
68
- * @returns `true` if the value is a plain object, `false` otherwise
69
- */
70
- const isObject = (value) => {
71
- return typeof value === 'object' && value !== null && !isArray(value);
72
- };
73
- exports.isObject = isObject;
74
- /**
75
- * Returns `true` if the given value is a {@link z.ZodPromise} schema.
76
- *
77
- * @function
78
- * @param value - Value to test
79
- * @returns `true` if the value is a `ZodPromise` schema; `false` otherwise
80
- */
81
- const isZodPromise = (value) => isZodType(value, 'promise');
82
- exports.isZodPromise = isZodPromise;
83
- /**
84
- * Checks if a value is "promise-like", meaning it is a "thenable" object.
85
- *
86
- * @function
87
- * @param value - Value to test
88
- * @returns `true` if the value is promise-like, `false` otherwise
89
- */
90
- const isPromiseLike = (value) => (0, exports.isObject)(value) &&
91
- 'then' in value &&
92
- (0, exports.isFunction)(value.then) &&
93
- value.then.length > 0;
94
- exports.isPromiseLike = isPromiseLike;
95
- /**
96
- * Returns `true` if the given value is a constructable function (i.e., a
97
- * class).
98
- *
99
- * This works by wrapping `fn` in a {@link Proxy}, attaching a no-op
100
- * {@link ProxyHandler.construct} trap to it, then attempting to construct the
101
- * proxy via `new`.
102
- *
103
- * @privateRemarks
104
- * This may be the only way we can determine, at runtime, if a function is a
105
- * constructor without actually calling it. I am unsure if this only works for
106
- * classes.
107
- * @function
108
- * @param fn - Function to test
109
- * @returns Whether the function is constructable
110
- */
111
- const isConstructible = (fn) => {
112
- if (fn === Symbol || fn === BigInt) {
113
- return false;
114
- }
115
- try {
116
- // this will throw if there is no `[[construct]]` slot.. or so I've heard.
117
- // eslint-disable-next-line @typescript-eslint/no-unsafe-call, custom/require-function-tag-in-arrow-functions
118
- new new Proxy(fn, { construct: () => ({}) })();
119
- return true;
120
- }
121
- catch {
122
- return false;
123
- }
124
- };
125
- exports.isConstructible = isConstructible;
126
- /**
127
- * Type guard for a boolean value
128
- *
129
- * @function
130
- * @param value Value to check
131
- * @returns `true` if the value is a boolean, `false` otherwise
132
- */
133
- const isBoolean = (value) => typeof value === 'boolean';
134
- exports.isBoolean = isBoolean;
135
- /**
136
- * Type guard for a function value
137
- *
138
- * @function
139
- * @param value Value to check
140
- * @returns `true` if the value is a function, `false` otherwise
141
- */
142
- const isFunction = (value) => typeof value === 'function';
143
- exports.isFunction = isFunction;
144
- /**
145
- * Type guard for a string value
146
- *
147
- * @function
148
- * @param value Value to check
149
- * @returns `true` if the value is a string, `false` otherwise
150
- */
151
- const isString = (value) => typeof value === 'string';
152
- exports.isString = isString;
153
- /**
154
- * Type guard for a non-null object value
155
- *
156
- * @function
157
- * @param value Value to check
158
- * @returns `true` if the value is an object and not null, `false` otherwise
159
- */
160
- const isNonNullObject = (value) => typeof value === 'object' && value !== null;
161
- exports.isNonNullObject = isNonNullObject;
162
- /**
163
- * Type guard for a valid WeakKey (object, function, or symbol).
164
- *
165
- * WeakMaps and WeakSets can only use objects (including functions) or symbols
166
- * as keys, not primitives like strings, numbers, booleans, null, or undefined.
167
- *
168
- * @function
169
- * @param value Value to check
170
- * @returns `true` if the value is a valid WeakKey (object, function, or
171
- * symbol), `false` otherwise
172
- */
173
- const isWeakKey = (value) => (typeof value === 'object' && value !== null) ||
174
- typeof value === 'function' ||
175
- typeof value === 'symbol';
176
- exports.isWeakKey = isWeakKey;
177
- /**
178
- * Type guard for a {@link PhraseLiteral}, which is just a string that does not
179
- * begin with `not `.
180
- *
181
- * @function
182
- * @param value Value to check
183
- * @returns `true` if the value is a `PhraseLiteral`, `false` otherwise
184
- * @internal
185
- */
186
- const isPhraseLiteral = (value) => (0, exports.isString)(value) && value !== 'and';
187
- exports.isPhraseLiteral = isPhraseLiteral;
188
- /**
189
- * Type guard for a {@link PhraseLiteralChoice}, which is a tuple of strings.
190
- *
191
- * @function
192
- * @param value Value to check
193
- * @returns `true` if the value is a `PhraseLiteralChoice`, `false` otherwise
194
- * @internal
195
- */
196
- const isPhraseLiteralChoice = (value) => isArray(value) &&
197
- value.length >= 1 &&
198
- value.every((item) => (0, exports.isPhraseLiteral)(item));
199
- exports.isPhraseLiteralChoice = isPhraseLiteralChoice;
200
- /**
201
- * Type guard for a {@link PhraseLiteral} or {@link PhraseLiteralChoice}.
202
- *
203
- * @function
204
- * @param value Value to check
205
- * @returns `true` if the value is a `PhraseLiteral` or `PhraseLiteralChoice`,
206
- * `false` otherwise
207
- */
208
- const isPhrase = (value) => (0, exports.isPhraseLiteral)(value) || (0, exports.isPhraseLiteralChoice)(value);
209
- exports.isPhrase = isPhrase;
210
- /**
211
- * Generic type guard for instanceof checks.
212
- *
213
- * This function provides a type-safe way to check if a value is an instance of
214
- * a given constructor, with proper type narrowing for TypeScript. It combines
215
- * the null/object check with instanceof to ensure the value is a valid object
216
- * before performing the instance check.
217
- *
218
- * @example
219
- *
220
- * ```typescript
221
- * const obj = new Date();
222
- * if (isA(obj, Date)) {
223
- * // obj is now typed as Date
224
- * console.log(obj.getTime());
225
- * }
226
- * ```
227
- *
228
- * @template T - The constructor type to check against
229
- * @function
230
- * @param value - Value to test
231
- * @param ctor - Constructor function to check instanceof
232
- * @returns `true` if the value is an instance of the constructor, `false`
233
- * otherwise
234
- */
235
- const isA = (value, ctor) => {
236
- return (0, exports.isNonNullObject)(value) && value instanceof ctor;
237
- };
238
- exports.isA = isA;
239
- /**
240
- * Type guard for Error instances.
241
- *
242
- * This function checks if a value is an instance of the Error class or any of
243
- * its subclasses. It's useful for error handling and type narrowing when
244
- * working with unknown values that might be errors.
245
- *
246
- * @example
247
- *
248
- * ```typescript
249
- * try {
250
- * throw new TypeError('Something went wrong');
251
- * } catch (err) {
252
- * if (isError(err)) {
253
- * // err is now typed as Error
254
- * console.log(err.message);
255
- * }
256
- * }
257
- * ```
258
- *
259
- * @function
260
- * @param value - Value to test
261
- * @returns `true` if the value is an Error instance, `false` otherwise
262
- */
263
- const isError = (value) => (0, exports.isA)(value, Error);
264
- exports.isError = isError;
265
- /**
266
- * Type guard for {@link ExpectItExecutor} functions.
267
- *
268
- * This function checks if a value is an {@link ExpectItExecutor} function
269
- * created by {@link bupkis!expect.it | expect.it()}. {@link ExpectItExecutor}
270
- * functions are special functions that contain assertion logic and are marked
271
- * with an internal symbol for identification. They are used in nested
272
- * assertions within "to satisfy" patterns and other complex assertion
273
- * scenarios.
274
- *
275
- * @example
276
- *
277
- * ```typescript
278
- * const executor = expect.it('to be a string');
279
- * if (isExpectItExecutor(executor)) {
280
- * // executor is now typed as ExpectItExecutor
281
- * // Can be used in satisfaction patterns
282
- * }
283
- * ```
284
- *
285
- * @template Subject - The subject type that the executor function operates on
286
- * @function
287
- * @param value - Value to test
288
- * @returns `true` if the value is an ExpectItExecutor function, `false`
289
- * otherwise
290
- */
291
- const isExpectItExecutor = (value) => {
292
- return ((0, exports.isFunction)(value) &&
293
- constant_js_1.kExpectIt in value &&
294
- value[constant_js_1.kExpectIt] === true);
295
- };
296
- exports.isExpectItExecutor = isExpectItExecutor;
297
- //# sourceMappingURL=guards.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"guards.js","sourceRoot":"","sources":["../src/guards.ts"],"names":[],"mappings":"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"}
package/dist/guards.d.cts DELETED
@@ -1,231 +0,0 @@
1
- /**
2
- * Type guard functions and runtime type checking utilities.
3
- *
4
- * This module provides various type guard functions for runtime type checking,
5
- * including guards for Zod schemas, constructors, {@link PromiseLike} objects,
6
- * and assertion parts. These are used throughout the library for safe type
7
- * narrowing and validation.
8
- *
9
- * @module guards
10
- * @category API
11
- * @example
12
- *
13
- * ```ts
14
- * import * as guards from 'bupkis/guards';
15
- * ```
16
- */
17
- import { type z } from 'zod';
18
- import type { PhraseLiteralChoice } from "./assertion/assertion-types.cjs";
19
- import type { StandardSchemaV1 } from "./standard-schema.cjs";
20
- import type { Constructor, ExpectItExecutor, PhraseLiteral, ZodTypeMap } from "./types.cjs";
21
- /**
22
- * Returns `true` if the given value looks like a Zod v4 schema, determined by
23
- * the presence of an internal {@link z.core.$ZodTypeDef} field.
24
- *
25
- * Note: This relies on Zod's internal shape and is intended for runtime
26
- * discrimination within this library.
27
- *
28
- * @template T - The specific ZodType to check for (based on def.type)
29
- * @param value - Value to test
30
- * @returns Whether the value is `ZodType`-like
31
- */
32
- export declare function isZodType<T extends keyof ZodTypeMap>(value: unknown, type: T): value is ZodTypeMap[T];
33
- /**
34
- * Returns `true` if the given value looks like a Zod v4 schema, determined by
35
- * the presence of an internal {@link z.core.$ZodTypeDef} field.
36
- *
37
- * Note: This relies on Zod's internal shape and is intended for runtime
38
- * discrimination within this library.
39
- *
40
- * @param value - Value to test
41
- * @returns Whether the value is `ZodType`-like
42
- */
43
- export declare function isZodType(value: unknown): value is z.ZodType;
44
- /**
45
- * Returns `true` if the given value implements the Standard Schema v1
46
- * interface.
47
- *
48
- * This guard checks for the presence of the `~standard` property with the
49
- * required shape (version 1, vendor, validate function). It can detect any
50
- * Standard Schema compliant library including Zod v4 (which implements the
51
- * spec).
52
- *
53
- * @function
54
- * @param value - Value to test
55
- * @returns Whether the value is a Standard Schema v1 instance
56
- * @see {@link https://standardschema.dev | Standard Schema Specification}
57
- */
58
- export declare const isStandardSchema: (value: unknown) => value is StandardSchemaV1;
59
- /**
60
- * Type guard for a plain object.
61
- *
62
- * @function
63
- * @param value Value to test
64
- * @returns `true` if the value is a plain object, `false` otherwise
65
- */
66
- export declare const isObject: (value: unknown) => value is NonNullable<object>;
67
- /**
68
- * Returns `true` if the given value is a {@link z.ZodPromise} schema.
69
- *
70
- * @function
71
- * @param value - Value to test
72
- * @returns `true` if the value is a `ZodPromise` schema; `false` otherwise
73
- */
74
- export declare const isZodPromise: (value: unknown) => value is z.ZodPromise;
75
- /**
76
- * Checks if a value is "promise-like", meaning it is a "thenable" object.
77
- *
78
- * @function
79
- * @param value - Value to test
80
- * @returns `true` if the value is promise-like, `false` otherwise
81
- */
82
- export declare const isPromiseLike: (value: unknown) => value is PromiseLike<unknown>;
83
- /**
84
- * Returns `true` if the given value is a constructable function (i.e., a
85
- * class).
86
- *
87
- * This works by wrapping `fn` in a {@link Proxy}, attaching a no-op
88
- * {@link ProxyHandler.construct} trap to it, then attempting to construct the
89
- * proxy via `new`.
90
- *
91
- * @privateRemarks
92
- * This may be the only way we can determine, at runtime, if a function is a
93
- * constructor without actually calling it. I am unsure if this only works for
94
- * classes.
95
- * @function
96
- * @param fn - Function to test
97
- * @returns Whether the function is constructable
98
- */
99
- export declare const isConstructible: (fn: unknown) => fn is Constructor;
100
- /**
101
- * Type guard for a boolean value
102
- *
103
- * @function
104
- * @param value Value to check
105
- * @returns `true` if the value is a boolean, `false` otherwise
106
- */
107
- export declare const isBoolean: (value: unknown) => value is boolean;
108
- /**
109
- * Type guard for a function value
110
- *
111
- * @function
112
- * @param value Value to check
113
- * @returns `true` if the value is a function, `false` otherwise
114
- */
115
- export declare const isFunction: (value: unknown) => value is (...args: any[]) => any;
116
- /**
117
- * Type guard for a string value
118
- *
119
- * @function
120
- * @param value Value to check
121
- * @returns `true` if the value is a string, `false` otherwise
122
- */
123
- export declare const isString: (value: unknown) => value is string;
124
- /**
125
- * Type guard for a non-null object value
126
- *
127
- * @function
128
- * @param value Value to check
129
- * @returns `true` if the value is an object and not null, `false` otherwise
130
- */
131
- export declare const isNonNullObject: (value: unknown) => value is object;
132
- /**
133
- * Type guard for a valid WeakKey (object, function, or symbol).
134
- *
135
- * WeakMaps and WeakSets can only use objects (including functions) or symbols
136
- * as keys, not primitives like strings, numbers, booleans, null, or undefined.
137
- *
138
- * @function
139
- * @param value Value to check
140
- * @returns `true` if the value is a valid WeakKey (object, function, or
141
- * symbol), `false` otherwise
142
- */
143
- export declare const isWeakKey: (value: unknown) => value is WeakKey;
144
- /**
145
- * Type guard for a {@link PhraseLiteral} or {@link PhraseLiteralChoice}.
146
- *
147
- * @function
148
- * @param value Value to check
149
- * @returns `true` if the value is a `PhraseLiteral` or `PhraseLiteralChoice`,
150
- * `false` otherwise
151
- */
152
- export declare const isPhrase: (value: unknown) => value is PhraseLiteral | PhraseLiteralChoice;
153
- /**
154
- * Generic type guard for instanceof checks.
155
- *
156
- * This function provides a type-safe way to check if a value is an instance of
157
- * a given constructor, with proper type narrowing for TypeScript. It combines
158
- * the null/object check with instanceof to ensure the value is a valid object
159
- * before performing the instance check.
160
- *
161
- * @example
162
- *
163
- * ```typescript
164
- * const obj = new Date();
165
- * if (isA(obj, Date)) {
166
- * // obj is now typed as Date
167
- * console.log(obj.getTime());
168
- * }
169
- * ```
170
- *
171
- * @template T - The constructor type to check against
172
- * @function
173
- * @param value - Value to test
174
- * @param ctor - Constructor function to check instanceof
175
- * @returns `true` if the value is an instance of the constructor, `false`
176
- * otherwise
177
- */
178
- export declare const isA: <T extends Constructor>(value: unknown, ctor: T) => value is InstanceType<T>;
179
- /**
180
- * Type guard for Error instances.
181
- *
182
- * This function checks if a value is an instance of the Error class or any of
183
- * its subclasses. It's useful for error handling and type narrowing when
184
- * working with unknown values that might be errors.
185
- *
186
- * @example
187
- *
188
- * ```typescript
189
- * try {
190
- * throw new TypeError('Something went wrong');
191
- * } catch (err) {
192
- * if (isError(err)) {
193
- * // err is now typed as Error
194
- * console.log(err.message);
195
- * }
196
- * }
197
- * ```
198
- *
199
- * @function
200
- * @param value - Value to test
201
- * @returns `true` if the value is an Error instance, `false` otherwise
202
- */
203
- export declare const isError: (value: unknown) => value is Error;
204
- /**
205
- * Type guard for {@link ExpectItExecutor} functions.
206
- *
207
- * This function checks if a value is an {@link ExpectItExecutor} function
208
- * created by {@link bupkis!expect.it | expect.it()}. {@link ExpectItExecutor}
209
- * functions are special functions that contain assertion logic and are marked
210
- * with an internal symbol for identification. They are used in nested
211
- * assertions within "to satisfy" patterns and other complex assertion
212
- * scenarios.
213
- *
214
- * @example
215
- *
216
- * ```typescript
217
- * const executor = expect.it('to be a string');
218
- * if (isExpectItExecutor(executor)) {
219
- * // executor is now typed as ExpectItExecutor
220
- * // Can be used in satisfaction patterns
221
- * }
222
- * ```
223
- *
224
- * @template Subject - The subject type that the executor function operates on
225
- * @function
226
- * @param value - Value to test
227
- * @returns `true` if the value is an ExpectItExecutor function, `false`
228
- * otherwise
229
- */
230
- export declare const isExpectItExecutor: <Subject extends z.ZodType = z.ZodUnknown>(value: unknown) => value is ExpectItExecutor<Subject>;
231
- //# sourceMappingURL=guards.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../src/guards.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,mBAAmB,EAAE,wCAAuC;AAC1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,8BAA6B;AAC7D,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,UAAU,EACX,oBAAmB;AAMpB;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,UAAU,EAClD,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,CAAC,GACN,KAAK,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;AAE1B;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC;AAsB9D;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,gBAY1D,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,WAAW,CAAC,MAAM,CAEpE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,CAAC,CAAC,UAC5B,CAAC;AAE9B;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,WAAW,CAAC,OAAO,CAIpD,CAAC;AAExB;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,eAAe,GAAI,IAAI,OAAO,KAAG,EAAE,IAAI,WAYnD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,OACxB,CAAC;AAE7B;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAC5C,CAAC;AAE9B;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MACxB,CAAC;AAE5B;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MACb,CAAC;AAE9C;;;;;;;;;;GAUG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,OAGzB,CAAC;AA6B5B;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,GACnB,OAAO,OAAO,KACb,KAAK,IAAI,aAAa,GAAG,mBAC4B,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,GAAG,GAAI,CAAC,SAAS,WAAW,EACvC,OAAO,OAAO,EACd,MAAM,CAAC,KACN,KAAK,IAAI,YAAY,CAAC,CAAC,CAEzB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,OAAO,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,KAA0B,CAAC;AAE7E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,kBAAkB,GAAI,OAAO,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,UAAU,EACzE,OAAO,OAAO,KACb,KAAK,IAAI,gBAAgB,CAAC,OAAO,CAMnC,CAAC"}