bupkis 0.7.2 → 0.9.0

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 (215) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +19 -2
  3. package/dist/commonjs/assertion/assertion-async.d.ts.map +1 -1
  4. package/dist/commonjs/assertion/assertion-async.js +37 -7
  5. package/dist/commonjs/assertion/assertion-async.js.map +1 -1
  6. package/dist/commonjs/assertion/assertion-sync.d.ts.map +1 -1
  7. package/dist/commonjs/assertion/assertion-sync.js +32 -8
  8. package/dist/commonjs/assertion/assertion-sync.js.map +1 -1
  9. package/dist/commonjs/assertion/assertion-types.d.ts +37 -31
  10. package/dist/commonjs/assertion/assertion-types.d.ts.map +1 -1
  11. package/dist/commonjs/assertion/assertion-types.js +0 -32
  12. package/dist/commonjs/assertion/assertion-types.js.map +1 -1
  13. package/dist/commonjs/assertion/assertion.d.ts +3 -21
  14. package/dist/commonjs/assertion/assertion.d.ts.map +1 -1
  15. package/dist/commonjs/assertion/assertion.js +42 -27
  16. package/dist/commonjs/assertion/assertion.js.map +1 -1
  17. package/dist/commonjs/assertion/create.d.ts +2 -0
  18. package/dist/commonjs/assertion/create.d.ts.map +1 -1
  19. package/dist/commonjs/assertion/create.js +38 -42
  20. package/dist/commonjs/assertion/create.js.map +1 -1
  21. package/dist/commonjs/assertion/impl/assertion-util.d.ts +16 -4
  22. package/dist/commonjs/assertion/impl/assertion-util.d.ts.map +1 -1
  23. package/dist/commonjs/assertion/impl/assertion-util.js +20 -15
  24. package/dist/commonjs/assertion/impl/assertion-util.js.map +1 -1
  25. package/dist/commonjs/assertion/impl/async-parametric.d.ts +63 -11
  26. package/dist/commonjs/assertion/impl/async-parametric.d.ts.map +1 -1
  27. package/dist/commonjs/assertion/impl/async-parametric.js +89 -52
  28. package/dist/commonjs/assertion/impl/async-parametric.js.map +1 -1
  29. package/dist/commonjs/assertion/impl/async.d.ts +116 -12
  30. package/dist/commonjs/assertion/impl/async.d.ts.map +1 -1
  31. package/dist/commonjs/assertion/impl/async.js +1 -1
  32. package/dist/commonjs/assertion/impl/sync-basic.d.ts.map +1 -1
  33. package/dist/commonjs/assertion/impl/sync-basic.js +6 -4
  34. package/dist/commonjs/assertion/impl/sync-basic.js.map +1 -1
  35. package/dist/commonjs/assertion/impl/sync-collection.d.ts.map +1 -1
  36. package/dist/commonjs/assertion/impl/sync-collection.js +24 -14
  37. package/dist/commonjs/assertion/impl/sync-collection.js.map +1 -1
  38. package/dist/commonjs/assertion/impl/sync-esoteric.d.ts +1 -5
  39. package/dist/commonjs/assertion/impl/sync-esoteric.d.ts.map +1 -1
  40. package/dist/commonjs/assertion/impl/sync-esoteric.js +11 -13
  41. package/dist/commonjs/assertion/impl/sync-esoteric.js.map +1 -1
  42. package/dist/commonjs/assertion/impl/sync-parametric.d.ts +27 -7
  43. package/dist/commonjs/assertion/impl/sync-parametric.d.ts.map +1 -1
  44. package/dist/commonjs/assertion/impl/sync-parametric.js +75 -51
  45. package/dist/commonjs/assertion/impl/sync-parametric.js.map +1 -1
  46. package/dist/commonjs/assertion/impl/sync.d.ts +54 -22
  47. package/dist/commonjs/assertion/impl/sync.d.ts.map +1 -1
  48. package/dist/commonjs/assertion/impl/sync.js +1 -1
  49. package/dist/commonjs/assertion/impl/sync.js.map +1 -1
  50. package/dist/commonjs/assertion/index.d.ts +1 -1
  51. package/dist/commonjs/assertion/index.d.ts.map +1 -1
  52. package/dist/commonjs/assertion/index.js +0 -1
  53. package/dist/commonjs/assertion/index.js.map +1 -1
  54. package/dist/commonjs/assertion/slotify.d.ts +1 -13
  55. package/dist/commonjs/assertion/slotify.d.ts.map +1 -1
  56. package/dist/commonjs/assertion/slotify.js +49 -16
  57. package/dist/commonjs/assertion/slotify.js.map +1 -1
  58. package/dist/commonjs/bootstrap.d.ts +85 -17
  59. package/dist/commonjs/bootstrap.d.ts.map +1 -1
  60. package/dist/commonjs/bootstrap.js +1 -0
  61. package/dist/commonjs/bootstrap.js.map +1 -1
  62. package/dist/commonjs/diff.d.ts +51 -0
  63. package/dist/commonjs/diff.d.ts.map +1 -0
  64. package/dist/commonjs/diff.js +279 -0
  65. package/dist/commonjs/diff.js.map +1 -0
  66. package/dist/commonjs/error.d.ts +37 -18
  67. package/dist/commonjs/error.d.ts.map +1 -1
  68. package/dist/commonjs/error.js +44 -30
  69. package/dist/commonjs/error.js.map +1 -1
  70. package/dist/commonjs/expect.d.ts.map +1 -1
  71. package/dist/commonjs/expect.js +131 -78
  72. package/dist/commonjs/expect.js.map +1 -1
  73. package/dist/commonjs/guards.d.ts +24 -10
  74. package/dist/commonjs/guards.d.ts.map +1 -1
  75. package/dist/commonjs/guards.js +56 -39
  76. package/dist/commonjs/guards.js.map +1 -1
  77. package/dist/commonjs/index.d.ts +85 -17
  78. package/dist/commonjs/index.d.ts.map +1 -1
  79. package/dist/commonjs/internal-schema.d.ts +25 -0
  80. package/dist/commonjs/internal-schema.d.ts.map +1 -0
  81. package/dist/commonjs/internal-schema.js +209 -0
  82. package/dist/commonjs/internal-schema.js.map +1 -0
  83. package/dist/commonjs/schema.d.ts.map +1 -1
  84. package/dist/commonjs/schema.js +3 -2
  85. package/dist/commonjs/schema.js.map +1 -1
  86. package/dist/commonjs/use.js +22 -8
  87. package/dist/commonjs/use.js.map +1 -1
  88. package/dist/commonjs/util.d.ts +1 -0
  89. package/dist/commonjs/util.d.ts.map +1 -1
  90. package/dist/commonjs/util.js +14 -10
  91. package/dist/commonjs/util.js.map +1 -1
  92. package/dist/commonjs/value-to-schema.d.ts +1 -0
  93. package/dist/commonjs/value-to-schema.d.ts.map +1 -1
  94. package/dist/commonjs/value-to-schema.js +19 -12
  95. package/dist/commonjs/value-to-schema.js.map +1 -1
  96. package/dist/esm/assertion/assertion-async.d.ts.map +1 -1
  97. package/dist/esm/assertion/assertion-async.js +37 -7
  98. package/dist/esm/assertion/assertion-async.js.map +1 -1
  99. package/dist/esm/assertion/assertion-sync.d.ts.map +1 -1
  100. package/dist/esm/assertion/assertion-sync.js +32 -8
  101. package/dist/esm/assertion/assertion-sync.js.map +1 -1
  102. package/dist/esm/assertion/assertion-types.d.ts +37 -31
  103. package/dist/esm/assertion/assertion-types.d.ts.map +1 -1
  104. package/dist/esm/assertion/assertion-types.js +1 -31
  105. package/dist/esm/assertion/assertion-types.js.map +1 -1
  106. package/dist/esm/assertion/assertion.d.ts +3 -21
  107. package/dist/esm/assertion/assertion.d.ts.map +1 -1
  108. package/dist/esm/assertion/assertion.js +42 -27
  109. package/dist/esm/assertion/assertion.js.map +1 -1
  110. package/dist/esm/assertion/create.d.ts +2 -0
  111. package/dist/esm/assertion/create.d.ts.map +1 -1
  112. package/dist/esm/assertion/create.js +37 -41
  113. package/dist/esm/assertion/create.js.map +1 -1
  114. package/dist/esm/assertion/impl/assertion-util.d.ts +16 -4
  115. package/dist/esm/assertion/impl/assertion-util.d.ts.map +1 -1
  116. package/dist/esm/assertion/impl/assertion-util.js +20 -15
  117. package/dist/esm/assertion/impl/assertion-util.js.map +1 -1
  118. package/dist/esm/assertion/impl/async-parametric.d.ts +63 -11
  119. package/dist/esm/assertion/impl/async-parametric.d.ts.map +1 -1
  120. package/dist/esm/assertion/impl/async-parametric.js +89 -52
  121. package/dist/esm/assertion/impl/async-parametric.js.map +1 -1
  122. package/dist/esm/assertion/impl/async.d.ts +116 -12
  123. package/dist/esm/assertion/impl/async.d.ts.map +1 -1
  124. package/dist/esm/assertion/impl/async.js +2 -2
  125. package/dist/esm/assertion/impl/async.js.map +1 -1
  126. package/dist/esm/assertion/impl/sync-basic.d.ts.map +1 -1
  127. package/dist/esm/assertion/impl/sync-basic.js +6 -4
  128. package/dist/esm/assertion/impl/sync-basic.js.map +1 -1
  129. package/dist/esm/assertion/impl/sync-collection.d.ts.map +1 -1
  130. package/dist/esm/assertion/impl/sync-collection.js +24 -14
  131. package/dist/esm/assertion/impl/sync-collection.js.map +1 -1
  132. package/dist/esm/assertion/impl/sync-esoteric.d.ts +1 -5
  133. package/dist/esm/assertion/impl/sync-esoteric.d.ts.map +1 -1
  134. package/dist/esm/assertion/impl/sync-esoteric.js +11 -13
  135. package/dist/esm/assertion/impl/sync-esoteric.js.map +1 -1
  136. package/dist/esm/assertion/impl/sync-parametric.d.ts +27 -7
  137. package/dist/esm/assertion/impl/sync-parametric.d.ts.map +1 -1
  138. package/dist/esm/assertion/impl/sync-parametric.js +75 -51
  139. package/dist/esm/assertion/impl/sync-parametric.js.map +1 -1
  140. package/dist/esm/assertion/impl/sync.d.ts +54 -22
  141. package/dist/esm/assertion/impl/sync.d.ts.map +1 -1
  142. package/dist/esm/assertion/impl/sync.js +2 -2
  143. package/dist/esm/assertion/impl/sync.js.map +1 -1
  144. package/dist/esm/assertion/index.d.ts +1 -1
  145. package/dist/esm/assertion/index.d.ts.map +1 -1
  146. package/dist/esm/assertion/index.js +0 -1
  147. package/dist/esm/assertion/index.js.map +1 -1
  148. package/dist/esm/assertion/slotify.d.ts +1 -13
  149. package/dist/esm/assertion/slotify.d.ts.map +1 -1
  150. package/dist/esm/assertion/slotify.js +50 -17
  151. package/dist/esm/assertion/slotify.js.map +1 -1
  152. package/dist/esm/bootstrap.d.ts +85 -17
  153. package/dist/esm/bootstrap.d.ts.map +1 -1
  154. package/dist/esm/bootstrap.js +1 -0
  155. package/dist/esm/bootstrap.js.map +1 -1
  156. package/dist/esm/diff.d.ts +51 -0
  157. package/dist/esm/diff.d.ts.map +1 -0
  158. package/dist/esm/diff.js +273 -0
  159. package/dist/esm/diff.js.map +1 -0
  160. package/dist/esm/error.d.ts +37 -18
  161. package/dist/esm/error.d.ts.map +1 -1
  162. package/dist/esm/error.js +41 -27
  163. package/dist/esm/error.js.map +1 -1
  164. package/dist/esm/expect.d.ts.map +1 -1
  165. package/dist/esm/expect.js +133 -80
  166. package/dist/esm/expect.js.map +1 -1
  167. package/dist/esm/guards.d.ts +24 -10
  168. package/dist/esm/guards.d.ts.map +1 -1
  169. package/dist/esm/guards.js +52 -36
  170. package/dist/esm/guards.js.map +1 -1
  171. package/dist/esm/index.d.ts +85 -17
  172. package/dist/esm/index.d.ts.map +1 -1
  173. package/dist/esm/internal-schema.d.ts +25 -0
  174. package/dist/esm/internal-schema.d.ts.map +1 -0
  175. package/dist/esm/internal-schema.js +203 -0
  176. package/dist/esm/internal-schema.js.map +1 -0
  177. package/dist/esm/schema.d.ts.map +1 -1
  178. package/dist/esm/schema.js +3 -2
  179. package/dist/esm/schema.js.map +1 -1
  180. package/dist/esm/use.js +19 -6
  181. package/dist/esm/use.js.map +1 -1
  182. package/dist/esm/util.d.ts +1 -0
  183. package/dist/esm/util.d.ts.map +1 -1
  184. package/dist/esm/util.js +14 -10
  185. package/dist/esm/util.js.map +1 -1
  186. package/dist/esm/value-to-schema.d.ts +1 -0
  187. package/dist/esm/value-to-schema.d.ts.map +1 -1
  188. package/dist/esm/value-to-schema.js +20 -13
  189. package/dist/esm/value-to-schema.js.map +1 -1
  190. package/package.json +29 -11
  191. package/src/assertion/assertion-async.ts +42 -14
  192. package/src/assertion/assertion-sync.ts +40 -17
  193. package/src/assertion/assertion-types.ts +55 -45
  194. package/src/assertion/assertion.ts +49 -32
  195. package/src/assertion/create.ts +46 -65
  196. package/src/assertion/impl/assertion-util.ts +31 -18
  197. package/src/assertion/impl/async-parametric.ts +93 -52
  198. package/src/assertion/impl/async.ts +2 -2
  199. package/src/assertion/impl/sync-basic.ts +7 -4
  200. package/src/assertion/impl/sync-collection.ts +34 -14
  201. package/src/assertion/impl/sync-esoteric.ts +17 -13
  202. package/src/assertion/impl/sync-parametric.ts +79 -52
  203. package/src/assertion/impl/sync.ts +2 -2
  204. package/src/assertion/index.ts +1 -1
  205. package/src/assertion/slotify.ts +67 -21
  206. package/src/bootstrap.ts +1 -0
  207. package/src/diff.ts +343 -0
  208. package/src/error.ts +66 -31
  209. package/src/expect.ts +195 -129
  210. package/src/guards.ts +74 -48
  211. package/src/internal-schema.ts +246 -0
  212. package/src/schema.ts +4 -2
  213. package/src/use.ts +21 -7
  214. package/src/util.ts +15 -12
  215. package/src/value-to-schema.ts +21 -13
@@ -1 +1 @@
1
- {"version":3,"file":"assertion-sync.d.ts","sourceRoot":"","sources":["../../../src/assertion/assertion-sync.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAoBH,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,YAAY,EAEjB,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAIjD;;;;GAIG;AACH,8BAAsB,mBAAmB,CACrC,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,iBAAiB,CAAC,KAAK,CAAC,EACrC,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CAErC,SAAQ,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAC1C,YAAW,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;IAE5C;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,CACd,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,EACjC,IAAI,EAAE,OAAO,EAAE,EACf,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACrC,WAAW,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,GAChC,IAAI;IAEP;;;;;;;;;;;;;;OAcG;IACH,WAAW,CAAC,IAAI,SAAS,SAAS,OAAO,EAAE,EACzC,IAAI,EAAE,IAAI,GACT,YAAY,CAAC,KAAK,CAAC;CA4CvB;AAED,qBAAa,2BAA2B,CACpC,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,mBAAmB,CAAC,KAAK,CAAC,EACvC,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CAErC,SAAQ,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAC9C,YAAW,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;IAE3C,OAAO,CACd,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,EACjC,IAAI,EAAE,OAAO,EAAE,EACf,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACrC,YAAY,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,GACjC,IAAI;CA0CR;AAED;;;;;;;;;;;GAWG;AAEH,qBAAa,yBAAyB,CAClC,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,uBAAuB,CAAC,KAAK,CAAC,EAC3C,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CAErC,SAAQ,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAC9C,YAAW,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;IAEzC,OAAO,CACd,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,EACjC,KAAK,EAAE,OAAO,EAAE,EAChB,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACrC,WAAW,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,GAChC,IAAI;IA2BE,WAAW,CAAC,IAAI,SAAS,SAAS,OAAO,EAAE,EAClD,IAAI,EAAE,IAAI,GACT,YAAY,CAAC,KAAK,CAAC;IAwEtB;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;CAehC"}
1
+ {"version":3,"file":"assertion-sync.d.ts","sourceRoot":"","sources":["../../../src/assertion/assertion-sync.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAkBH,OAAO,EACL,KAAK,qBAAqB,EAE1B,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,YAAY,EAEjB,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAIjD;;;;GAIG;AACH,8BAAsB,mBAAmB,CACrC,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,iBAAiB,CAAC,KAAK,CAAC,EACrC,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CAErC,SAAQ,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAC1C,YAAW,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;IAE5C;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,CACd,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,EACjC,IAAI,EAAE,OAAO,EAAE,EACf,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACrC,WAAW,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,GAChC,IAAI;IAEP;;;;;;;;;;;;;;OAcG;IACH,WAAW,CAAC,IAAI,SAAS,SAAS,OAAO,EAAE,EACzC,IAAI,EAAE,IAAI,GACT,YAAY,CAAC,KAAK,CAAC;CA4CvB;AAED,qBAAa,2BAA2B,CACpC,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,mBAAmB,CAAC,KAAK,CAAC,EACvC,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CAErC,SAAQ,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAC9C,YAAW,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;IAE3C,OAAO,CACd,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,EACjC,IAAI,EAAE,OAAO,EAAE,EACf,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACrC,YAAY,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,GACjC,IAAI;CAqER;AAED;;;;;;;;;;;GAWG;AAEH,qBAAa,yBAAyB,CAClC,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,uBAAuB,CAAC,KAAK,CAAC,EAC3C,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CAErC,SAAQ,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAC9C,YAAW,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;IAEzC,OAAO,CACd,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,EACjC,KAAK,EAAE,OAAO,EAAE,EAChB,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACrC,WAAW,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,GAChC,IAAI;IA2BE,WAAW,CAAC,IAAI,SAAS,SAAS,OAAO,EAAE,EAClD,IAAI,EAAE,IAAI,GACT,YAAY,CAAC,KAAK,CAAC;IAqEtB;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;CAehC"}
@@ -10,7 +10,8 @@ import { inspect } from 'util';
10
10
  import { z } from 'zod/v4';
11
11
  import { kStringLiteral } from '../constant.js';
12
12
  import { AssertionError, AssertionImplementationError, UnexpectedAsyncError, } from '../error.js';
13
- import { isAssertionFailure, isBoolean, isError, isPromiseLike, isZodType, } from '../guards.js';
13
+ import { isBoolean, isError, isPromiseLike, isZodType } from '../guards.js';
14
+ import { isAssertionFailure, isAssertionParseRequest, } from '../internal-schema.js';
14
15
  import { BupkisRegistry } from '../metadata.js';
15
16
  import { BupkisAssertion } from './assertion.js';
16
17
  const debug = createDebug('bupkis:assertion:sync');
@@ -77,9 +78,21 @@ export class BupkisAssertionSync extends BupkisAssertion {
77
78
  }
78
79
  export class BupkisAssertionFunctionSync extends BupkisAssertionSync {
79
80
  execute(parsedValues, args, stackStartFn, _parseResult) {
80
- const result = this.impl.call(null,
81
- // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
82
- ...parsedValues);
81
+ let result;
82
+ try {
83
+ result = this.impl.call(null,
84
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
85
+ ...parsedValues);
86
+ }
87
+ catch (err) {
88
+ if (AssertionError.isAssertionError(err)) {
89
+ throw err;
90
+ }
91
+ if (isError(err) && err instanceof z.ZodError) {
92
+ throw this.fromZodError(err, stackStartFn, parsedValues);
93
+ }
94
+ throw new AssertionImplementationError(`Unexpected error thrown from assertion ${this}: ${err}`, { cause: err });
95
+ }
83
96
  if (isPromiseLike(result)) {
84
97
  // Avoid unhandled promise rejection
85
98
  Promise.resolve(result).catch((err) => {
@@ -100,16 +113,27 @@ export class BupkisAssertionFunctionSync extends BupkisAssertionSync {
100
113
  });
101
114
  }
102
115
  }
116
+ else if (isError(result) && result instanceof z.ZodError) {
117
+ throw this.fromZodError(result, stackStartFn, parsedValues);
118
+ }
119
+ else if (isAssertionParseRequest(result)) {
120
+ const { asyncSchema, schema, subject } = result;
121
+ if (asyncSchema) {
122
+ throw new AssertionImplementationError(`Sync assertion ${this} returned an async schema in its AssertionParseRequest`);
123
+ }
124
+ const zodResult = schema.safeParse(subject);
125
+ if (!zodResult.success) {
126
+ throw this.fromZodError(zodResult.error, stackStartFn, subject);
127
+ }
128
+ }
103
129
  else if (isAssertionFailure(result)) {
104
130
  throw new AssertionError({
105
131
  actual: result.actual,
106
132
  expected: result.expected,
107
- message: result.message ?? `Assertion ${this} failed`,
133
+ message: result.message ??
134
+ `Assertion ${this} failed for arguments: ${inspect(args)}`,
108
135
  });
109
136
  }
110
- else if (isError(result) && result instanceof z.ZodError) {
111
- throw this.fromZodError(result, stackStartFn, parsedValues);
112
- }
113
137
  else if (result) {
114
138
  throw new AssertionImplementationError(`Invalid return type from assertion ${this}; expected boolean, ZodType, or AssertionFailure`, { result });
115
139
  }
@@ -1 +1 @@
1
- {"version":3,"file":"assertion-sync.js","sourceRoot":"","sources":["../../../src/assertion/assertion-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assertion-sync.js","sourceRoot":"","sources":["../../../src/assertion/assertion-sync.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@
16
16
  * Types related to the implementation of an assertion.
17
17
  */
18
18
  import { type NonEmptyTuple } from 'type-fest';
19
- import { z } from 'zod/v4';
19
+ import { type z } from 'zod/v4';
20
20
  /**
21
21
  * Union type representing any assertion, either synchronous or asynchronous.
22
22
  *
@@ -211,7 +211,7 @@ export type AssertionImplFnAsync<Parts extends AssertionParts> = (...values: Par
211
211
  *
212
212
  * @group Assertion Implementation
213
213
  */
214
- export type AssertionImplFnReturnType<Parts extends AssertionParts> = AssertionFailure | boolean | void | z.ZodError | z.ZodType<ParsedSubject<Parts>>;
214
+ export type AssertionImplFnReturnType<Parts extends AssertionParts> = AssertionFailure | AssertionParseRequest | boolean | void | z.ZodError | z.ZodType<ParsedSubject<Parts>>;
215
215
  /**
216
216
  * The implementation of an assertion as a sync function.
217
217
  *
@@ -294,6 +294,41 @@ export type AssertionImplSchemaSync<Parts extends AssertionParts> = z.core.$ZodB
294
294
  * @see {@link AssertionImplAsync} for async implementation unions
295
295
  */
296
296
  export type AssertionImplSync<Parts extends AssertionParts> = AssertionImplFnSync<Parts> | AssertionImplSchemaSync<Parts>;
297
+ /**
298
+ * Internal metadata for assertions.
299
+ *
300
+ * For internal use by documentation tooling.
301
+ */
302
+ export interface AssertionMetadata {
303
+ /**
304
+ * Anchor ID for linking to this assertion
305
+ */
306
+ anchor: string;
307
+ /**
308
+ * Category to map to page of logically grouped assertions
309
+ */
310
+ category: 'collections' | 'date' | 'equality' | 'error' | 'function' | 'numeric' | 'object' | 'other' | 'primitives' | 'promise' | 'strings';
311
+ /**
312
+ * Redirect for assertion to its documentation page, including anchor
313
+ */
314
+ redirect?: string | undefined;
315
+ }
316
+ /**
317
+ * When you want to use a Zod schema in an assertion implementation function
318
+ * against some value that _isn't_ the subject, you can return this object and
319
+ * <span class="bupkis">BUPKIS</span> will do it for you (with better diffs).
320
+ *
321
+ * @group Assertion Creation
322
+ */
323
+ export type AssertionParseRequest = {
324
+ subject: unknown;
325
+ } & ({
326
+ asyncSchema: z.ZodType;
327
+ schema?: never;
328
+ } | {
329
+ asyncSchema?: never;
330
+ schema: z.ZodType;
331
+ });
297
332
  /**
298
333
  * Union type representing the fundamental building blocks of an assertion.
299
334
  *
@@ -894,33 +929,4 @@ export type RawAssertionImplSchemaAsync<Parts extends AssertionParts> = z.ZodTyp
894
929
  * @see {@link ParsedSubject} for subject type derivation
895
930
  */
896
931
  export type RawAssertionImplSchemaSync<Parts extends AssertionParts> = z.ZodType<ParsedSubject<Parts>>;
897
- /**
898
- * Metadata associated with an assertion, for internal use by documentation
899
- * tooling.
900
- *
901
- * @private
902
- */
903
- export declare const AssertionMetadataSchema: z.ZodObject<{
904
- anchor: z.ZodString;
905
- category: z.ZodEnum<{
906
- object: "object";
907
- function: "function";
908
- date: "date";
909
- promise: "promise";
910
- error: "error";
911
- collections: "collections";
912
- equality: "equality";
913
- numeric: "numeric";
914
- other: "other";
915
- primitives: "primitives";
916
- strings: "strings";
917
- }>;
918
- redirectName: z.ZodOptional<z.ZodString>;
919
- }, z.core.$loose>;
920
- /**
921
- * {@inheritDoc AssertionMetadataSchema}
922
- *
923
- * @private
924
- */
925
- export type AssertionMetadata = z.infer<typeof AssertionMetadataSchema>;
926
932
  //# sourceMappingURL=assertion-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"assertion-types.d.ts","sourceRoot":"","sources":["../../../src/assertion/assertion-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assertion-types.d.ts","sourceRoot":"","sources":["../../../src/assertion/assertion-types.ts"],"names":[],"mappings":"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"}
@@ -15,35 +15,5 @@
15
15
  * @groupDescription Assertion Implementation
16
16
  * Types related to the implementation of an assertion.
17
17
  */
18
- import { z } from 'zod/v4';
19
- /**
20
- * Metadata associated with an assertion, for internal use by documentation
21
- * tooling.
22
- *
23
- * @private
24
- */
25
- export const AssertionMetadataSchema = z
26
- .looseObject({
27
- anchor: z.string().describe('Anchor ID for linking to this assertion.'),
28
- category: z
29
- .enum([
30
- 'collections',
31
- 'date',
32
- 'equality',
33
- 'error',
34
- 'function',
35
- 'numeric',
36
- 'object',
37
- 'other',
38
- 'primitives',
39
- 'promise',
40
- 'strings',
41
- ])
42
- .describe('Category to map to page of logically grouped assertions'),
43
- redirectName: z
44
- .string()
45
- .optional()
46
- .describe('Redirect for assertion to its documentation page, including anchor'),
47
- })
48
- .describe('Metadata associated with an assertion, for internal use by documentation tooling.');
18
+ export {};
49
19
  //# sourceMappingURL=assertion-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"assertion-types.js","sourceRoot":"","sources":["../../../src/assertion/assertion-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAgnC3B;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC;KACrC,WAAW,CAAC;IACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;IACvE,QAAQ,EAAE,CAAC;SACR,IAAI,CAAC;QACJ,aAAa;QACb,MAAM;QACN,UAAU;QACV,OAAO;QACP,UAAU;QACV,SAAS;QACT,QAAQ;QACR,OAAO;QACP,YAAY;QACZ,SAAS;QACT,SAAS;KACV,CAAC;SACD,QAAQ,CAAC,yDAAyD,CAAC;IACtE,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,oEAAoE,CACrE;CACJ,CAAC;KACD,QAAQ,CACP,mFAAmF,CACpF,CAAC"}
1
+ {"version":3,"file":"assertion-types.js","sourceRoot":"","sources":["../../../src/assertion/assertion-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG"}
@@ -11,16 +11,11 @@
11
11
  import { type ArrayValues } from 'type-fest';
12
12
  import { z } from 'zod/v4';
13
13
  import { AssertionError } from '../error.js';
14
- import { type Assertion, type AssertionImpl, type AssertionMetadata, type AssertionParts, type AssertionSlots, type ParsedResult, type ParsedValues } from './assertion-types.js';
14
+ import { type Assertion, type AssertionImpl, type AssertionMetadata, type AssertionParts, type AssertionSlots, type ParsedResult } from './assertion-types.js';
15
15
  /**
16
16
  * Registry of assertion metadata.
17
17
  */
18
- export declare const AssertionMetadataRegistry: WeakMap<BupkisAssertion<any, any, any>, {
19
- [x: string]: unknown;
20
- anchor: string;
21
- category: "object" | "function" | "date" | "promise" | "error" | "collections" | "equality" | "numeric" | "other" | "primitives" | "strings";
22
- redirectName?: string | undefined;
23
- }>;
18
+ export declare const AssertionMetadataRegistry: WeakMap<BupkisAssertion<any, any, any>, AssertionMetadata>;
24
19
  /**
25
20
  * Base abstract class for ALL assertions.
26
21
  */
@@ -48,20 +43,7 @@ export declare abstract class BupkisAssertion<Parts extends AssertionParts, Impl
48
43
  * @param values Values which caused the error
49
44
  * @returns New `AssertionError`
50
45
  */
51
- /**
52
- * Translates a {@link z.ZodError} into an {@link AssertionError} with a
53
- * human-friendly message.
54
- *
55
- * @remarks
56
- * This does not handle parameterized assertions with more than one parameter
57
- * too cleanly; it's unclear how a test runner would display the expected
58
- * values. This will probably need a fix in the future.
59
- * @param stackStartFn The function to start the stack trace from
60
- * @param zodError The original `ZodError`
61
- * @param values Values which caused the error
62
- * @returns New `AssertionError`
63
- */
64
- protected fromZodError<Parts extends AssertionParts>(zodError: z.ZodError, stackStartFn: (...args: any[]) => any, values: ParsedValues<Parts>): AssertionError;
46
+ protected fromZodError<Values>(zodError: z.ZodError, stackStartFn: (...args: any[]) => any, values: Values): AssertionError;
65
47
  protected maybeParseValuesArgMismatch<Args extends readonly unknown[]>(args: Args): ParsedResult<Parts> | undefined;
66
48
  /**
67
49
  * TODO: Fix the return types here. This is all sorts of confusing.
@@ -1 +1 @@
1
- {"version":3,"file":"assertion.d.ts","sourceRoot":"","sources":["../../../src/assertion/assertion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,OAAO,EAAE,cAAc,EAAwB,MAAM,aAAa,CAAC;AAEnE,OAAO,EACL,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAa9B;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;EAGnC,CAAC;AAEJ;;GAEG;AACH,8BAAsB,eAAe,CACnC,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,aAAa,CAAC,KAAK,CAAC,EACjC,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CACnC,YAAW,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;IAKtC,QAAQ,CAAC,KAAK,EAAE,KAAK;IACrB,QAAQ,CAAC,KAAK,EAAE,KAAK;IACrB,QAAQ,CAAC,IAAI,EAAE,IAAI;IALrB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;gBAGT,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI;IAMd,QAAQ,IAAI,iBAAiB,GAAG,SAAS;IAIhD;;OAEG;IACI,QAAQ,IAAI,MAAM;IAuFzB;;;;;;;;;;;;OAYG;IACH;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,YAAY,CAAC,KAAK,SAAS,cAAc,EACjD,QAAQ,EAAE,CAAC,CAAC,QAAQ,EACpB,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACrC,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,GAC1B,cAAc;IAmBjB,SAAS,CAAC,2BAA2B,CAAC,IAAI,SAAS,SAAS,OAAO,EAAE,EACnE,IAAI,EAAE,IAAI,GACT,YAAY,CAAC,KAAK,CAAC,GAAG,SAAS;IAQlC;;;;;;;OAOG;IACH,SAAS,CAAC,mBAAmB,CAAC,IAAI,SAAS,WAAW,CAAC,KAAK,CAAC,EAC3D,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,GACd,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC;IA6BhC;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,mBAAmB;CAW5B"}
1
+ {"version":3,"file":"assertion.d.ts","sourceRoot":"","sources":["../../../src/assertion/assertion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAQ3B,OAAO,EAAE,cAAc,EAAwB,MAAM,aAAa,CAAC;AAEnE,OAAO,EACL,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAc9B;;GAEG;AACH,eAAO,MAAM,yBAAyB,4DAGnC,CAAC;AAEJ;;GAEG;AACH,8BAAsB,eAAe,CACnC,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,aAAa,CAAC,KAAK,CAAC,EACjC,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CACnC,YAAW,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;IAKtC,QAAQ,CAAC,KAAK,EAAE,KAAK;IACrB,QAAQ,CAAC,KAAK,EAAE,KAAK;IACrB,QAAQ,CAAC,IAAI,EAAE,IAAI;IALrB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;gBAGT,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI;IAMd,QAAQ,IAAI,iBAAiB,GAAG,SAAS;IAIhD;;OAEG;IACI,QAAQ,IAAI,MAAM;IA+FzB;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,YAAY,CAAC,MAAM,EAC3B,QAAQ,EAAE,CAAC,CAAC,QAAQ,EACpB,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACrC,MAAM,EAAE,MAAM,GACb,cAAc;IAoCjB,SAAS,CAAC,2BAA2B,CAAC,IAAI,SAAS,SAAS,OAAO,EAAE,EACnE,IAAI,EAAE,IAAI,GACT,YAAY,CAAC,KAAK,CAAC,GAAG,SAAS;IAQlC;;;;;;;OAOG;IACH,SAAS,CAAC,mBAAmB,CAAC,IAAI,SAAS,WAAW,CAAC,KAAK,CAAC,EAC3D,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,GACd,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC;IA6BhC;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,mBAAmB;CAW5B"}
@@ -13,9 +13,12 @@ import slug from 'slug';
13
13
  import { inspect } from 'util';
14
14
  import { z } from 'zod/v4';
15
15
  import { kStringLiteral } from '../constant.js';
16
+ import { extractDiffValues, generateDiff, shouldGenerateDiff, } from '../diff.js';
16
17
  import { AssertionError, InvalidMetadataError } from '../error.js';
17
18
  import { BupkisRegistry } from '../metadata.js';
18
19
  const debug = createDebug('bupkis:assertion');
20
+ const { hasOwn, keys } = Object;
21
+ const { isArray } = Array;
19
22
  /**
20
23
  * Modified charmap for {@link slug} to use underscores to replace hyphens (`-`;
21
24
  * and for hyphens to replace everything else that needs replacing) and `<` with
@@ -50,6 +53,14 @@ export class BupkisAssertion {
50
53
  * @returns String representation
51
54
  */
52
55
  toString() {
56
+ /**
57
+ * Expands a Zod type into a human-readable string representation.
58
+ *
59
+ * @function
60
+ * @param zodType The Zod type to expand
61
+ * @param wrapCurlies Whether to wrap the result in curly braces
62
+ * @returns String representation of the Zod type
63
+ */
53
64
  const expand = (zodType, wrapCurlies = false) => {
54
65
  const def = 'def' in zodType ? zodType.def : zodType._zod.def;
55
66
  let repr = '';
@@ -78,7 +89,7 @@ export class BupkisAssertion {
78
89
  repr = `{${expand(def.innerType)}}`;
79
90
  break;
80
91
  case 'enum':
81
- repr = `${Object.keys(def.entries).join(' / ')}`;
92
+ repr = `${keys(def.entries).join(' / ')}`;
82
93
  break;
83
94
  case 'intersection':
84
95
  repr = `${expand(def.left)} & ${expand(def.right)}`;
@@ -122,24 +133,11 @@ export class BupkisAssertion {
122
133
  return wrapCurlies ? `{${repr}}` : repr;
123
134
  };
124
135
  return `"${this.slots
125
- .map((slot) => Object.hasOwn(BupkisRegistry.get(slot) ?? {}, kStringLiteral)
136
+ .map((slot) => hasOwn(BupkisRegistry.get(slot) ?? {}, kStringLiteral)
126
137
  ? expand(slot)
127
138
  : expand(slot, true))
128
139
  .join(' ')}"`;
129
140
  }
130
- /**
131
- * Translates a {@link z.ZodError} into an {@link AssertionError} with a
132
- * human-friendly message.
133
- *
134
- * @remarks
135
- * This does not handle parameterized assertions with more than one parameter
136
- * too cleanly; it's unclear how a test runner would display the expected
137
- * values. This will probably need a fix in the future.
138
- * @param stackStartFn The function to start the stack trace from
139
- * @param zodError The original `ZodError`
140
- * @param values Values which caused the error
141
- * @returns New `AssertionError`
142
- */
143
141
  /**
144
142
  * Translates a {@link z.ZodError} into an {@link AssertionError} with a
145
143
  * human-friendly message.
@@ -154,19 +152,36 @@ export class BupkisAssertion {
154
152
  * @returns New `AssertionError`
155
153
  */
156
154
  fromZodError(zodError, stackStartFn, values) {
157
- const flat = z.flattenError(zodError);
158
- let pretty = flat.formErrors.join('; ');
159
- for (const [keypath, errors] of Object.entries(flat.fieldErrors)) {
160
- pretty += `; ${keypath}: ${errors.join('; ')}`;
155
+ const subject = isArray(values) ? values[0] : values;
156
+ const { actual, expected } = extractDiffValues(zodError, subject);
157
+ // Only use custom message if we could extract diff values
158
+ if (shouldGenerateDiff(actual, expected)) {
159
+ // Use jest-diff to generate rich, colored diff output
160
+ const diffOutput = generateDiff(expected, actual, {
161
+ aAnnotation: 'expected',
162
+ bAnnotation: 'actual',
163
+ expand: false,
164
+ includeChangeCounts: true,
165
+ });
166
+ const message = diffOutput
167
+ ? `Assertion ${this} failed:\n${diffOutput}`
168
+ : `Assertion ${this} failed: values are not equal`;
169
+ return new AssertionError({
170
+ actual,
171
+ expected,
172
+ message,
173
+ stackStartFn,
174
+ });
175
+ }
176
+ else {
177
+ // Fall back to Zod's prettified error message
178
+ const pretty = z.prettifyError(zodError).slice(2);
179
+ return new AssertionError({
180
+ actual: subject,
181
+ message: `Assertion ${this} failed:\n${pretty}`,
182
+ stackStartFn,
183
+ });
161
184
  }
162
- const [actual, ...expected] = values;
163
- return new AssertionError({
164
- actual,
165
- expected: expected.length === 1 ? expected[0] : expected,
166
- message: `Assertion ${this} failed: ${pretty}`,
167
- operator: `${this}`,
168
- stackStartFn,
169
- });
170
185
  }
171
186
  maybeParseValuesArgMismatch(args) {
172
187
  if (this.slots.length !== args.length) {
@@ -1 +1 @@
1
- {"version":3,"file":"assertion.js","sourceRoot":"","sources":["../../../src/assertion/assertion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assertion.js","sourceRoot":"","sources":["../../../src/assertion/assertion.ts"],"names":[],"mappings":"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"}
@@ -69,6 +69,7 @@ import { type CreateAssertionFn, type CreateAsyncAssertionFn } from './assertion
69
69
  /**
70
70
  * {@inheritDoc CreateAssertionFn}
71
71
  *
72
+ * @function
72
73
  * @throws {TypeError} Invalid assertion implementation type
73
74
  * @group Assertion Creation
74
75
  */
@@ -76,6 +77,7 @@ export declare const createAssertion: CreateAssertionFn;
76
77
  /**
77
78
  * {@inheritDoc CreateAsyncAssertionFn}
78
79
  *
80
+ * @function
79
81
  * @throws {TypeError} Invalid assertion implementation type
80
82
  * @group Assertion Creation
81
83
  */
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/assertion/create.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;AAqBH,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC5B,MAAM,sBAAsB,CAAC;AAI9B;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,iBA6D7B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,sBAsDlC,CAAC"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/assertion/create.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;AA0BH,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC5B,MAAM,sBAAsB,CAAC;AAI9B;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,iBA0C7B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,EAAE,sBAgDlC,CAAC"}
@@ -67,74 +67,68 @@
67
67
  */
68
68
  import { z } from 'zod/v4';
69
69
  import { AssertionImplementationError } from '../error.js';
70
- import { isFunction, isString, isZodType } from '../guards.js';
70
+ import { isFunction, isZodType } from '../guards.js';
71
+ import { AssertionMetadataSchema, CreateAssertionInputSchema, CreateAssertionInputSchemaAsync, } from '../internal-schema.js';
71
72
  import { BupkisAssertionFunctionAsync, BupkisAssertionSchemaAsync, } from './assertion-async.js';
72
73
  import { BupkisAssertionFunctionSync, BupkisAssertionSchemaSync, } from './assertion-sync.js';
73
- import { AssertionMetadataSchema, } from './assertion-types.js';
74
74
  import { AssertionMetadataRegistry } from './assertion.js';
75
75
  import { slotify } from './slotify.js';
76
76
  /**
77
77
  * {@inheritDoc CreateAssertionFn}
78
78
  *
79
+ * @function
79
80
  * @throws {TypeError} Invalid assertion implementation type
80
81
  * @group Assertion Creation
81
82
  */
82
83
  export const createAssertion = (parts, impl, metadata) => {
83
- if (!Array.isArray(parts)) {
84
- throw new AssertionImplementationError('First parameter must be an array');
85
- }
86
- if (parts.length === 0) {
87
- throw new AssertionImplementationError('At least one value is required for an assertion');
88
- }
89
- if (!parts.every((part) => isString(part) || Array.isArray(part) || isZodType(part))) {
90
- throw new AssertionImplementationError('All assertion parts must be strings or Zod schemas');
91
- }
92
- if (!impl) {
93
- throw new AssertionImplementationError('An assertion implementation is required');
94
- }
84
+ // Validate inputs using Zod schema
95
85
  try {
96
- const slots = slotify(parts);
97
- if (isZodType(impl)) {
98
- const assertion = new BupkisAssertionSchemaSync(parts, slots, impl);
99
- if (metadata) {
100
- AssertionMetadataRegistry.set(assertion, metadata);
101
- }
102
- return assertion;
103
- }
104
- else if (isFunction(impl)) {
105
- const assertion = new BupkisAssertionFunctionSync(parts, slots, impl);
106
- if (metadata) {
107
- AssertionMetadataRegistry.set(assertion, metadata);
108
- }
109
- return assertion;
110
- }
86
+ CreateAssertionInputSchema.parse([parts, impl, metadata]);
111
87
  }
112
88
  catch (err) {
113
89
  if (err instanceof z.ZodError) {
114
- throw new AssertionImplementationError(`Failed to slotify assertion parts: ${z.prettifyError(err)}`, { cause: err });
90
+ throw new AssertionImplementationError(`Invalid input parameters: ${z.prettifyError(err)}`, { cause: err });
115
91
  }
116
- throw new AssertionImplementationError(`Failed to slotify assertion parts: ${err}`, { cause: err });
92
+ /* c8 ignore next */
93
+ throw err;
94
+ }
95
+ const slots = slotify(parts);
96
+ if (isZodType(impl)) {
97
+ const assertion = new BupkisAssertionSchemaSync(parts, slots, impl);
98
+ if (metadata) {
99
+ AssertionMetadataRegistry.set(assertion, metadata);
100
+ }
101
+ return assertion;
117
102
  }
103
+ else if (isFunction(impl)) {
104
+ const assertion = new BupkisAssertionFunctionSync(parts, slots, impl);
105
+ if (metadata) {
106
+ AssertionMetadataRegistry.set(assertion, metadata);
107
+ }
108
+ return assertion;
109
+ }
110
+ // should be impossible if CreateAssertionInputSchema is correct
111
+ /* c8 ignore next */
118
112
  throw new AssertionImplementationError('Assertion implementation must be a function, Zod schema or Zod schema factory');
119
113
  };
120
114
  /**
121
115
  * {@inheritDoc CreateAsyncAssertionFn}
122
116
  *
117
+ * @function
123
118
  * @throws {TypeError} Invalid assertion implementation type
124
119
  * @group Assertion Creation
125
120
  */
126
121
  export const createAsyncAssertion = (parts, impl, metadata) => {
127
- if (!Array.isArray(parts)) {
128
- throw new AssertionImplementationError('First parameter must be an array');
129
- }
130
- if (parts.length === 0) {
131
- throw new AssertionImplementationError('At least one value is required for an assertion');
132
- }
133
- if (!parts.every((part) => isString(part) || Array.isArray(part) || isZodType(part))) {
134
- throw new AssertionImplementationError('All assertion parts must be strings or Zod schemas');
122
+ // Validate inputs using Zod schema
123
+ try {
124
+ CreateAssertionInputSchemaAsync.parse([parts, impl, metadata]);
135
125
  }
136
- if (!impl) {
137
- throw new AssertionImplementationError('An assertion implementation is required');
126
+ catch (err) {
127
+ if (err instanceof z.ZodError) {
128
+ throw new AssertionImplementationError(`Invalid input parameters: ${z.prettifyError(err)}`, { cause: err });
129
+ }
130
+ /* c8 ignore next */
131
+ throw err;
138
132
  }
139
133
  const slots = slotify(parts);
140
134
  if (isZodType(impl)) {
@@ -151,6 +145,8 @@ export const createAsyncAssertion = (parts, impl, metadata) => {
151
145
  }
152
146
  return assertion;
153
147
  }
148
+ // should be impossible if CreateAssertionInputSchemaAsync is correct
149
+ /* c8 ignore next */
154
150
  throw new AssertionImplementationError('Assertion implementation must be a function, Zod schema or Zod schema factory');
155
151
  };
156
152
  //# sourceMappingURL=create.js.map