bupkis 0.18.1 → 0.18.3

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 (379) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/package.json +3 -6
  3. package/src/assertion/assertion-sync.ts +1 -1
  4. package/src/assertion/assertion-types.ts +4 -4
  5. package/src/assertion/assertion.ts +11 -6
  6. package/src/assertion/impl/iteration-util.ts +2 -2
  7. package/src/assertion/impl/sync-parametric.ts +1 -1
  8. package/src/expect.ts +1 -5
  9. package/src/guards.ts +24 -24
  10. package/src/internal-schema.ts +16 -32
  11. package/src/value-to-schema.ts +1 -1
  12. package/dist/assertion/assertion-async.cjs +0 -268
  13. package/dist/assertion/assertion-async.cjs.map +0 -1
  14. package/dist/assertion/assertion-async.d.cts +0 -40
  15. package/dist/assertion/assertion-async.d.cts.map +0 -1
  16. package/dist/assertion/assertion-async.d.ts +0 -40
  17. package/dist/assertion/assertion-async.d.ts.map +0 -1
  18. package/dist/assertion/assertion-async.js +0 -259
  19. package/dist/assertion/assertion-async.js.map +0 -1
  20. package/dist/assertion/assertion-standard-schema-async.cjs +0 -132
  21. package/dist/assertion/assertion-standard-schema-async.cjs.map +0 -1
  22. package/dist/assertion/assertion-standard-schema-async.d.cts +0 -52
  23. package/dist/assertion/assertion-standard-schema-async.d.cts.map +0 -1
  24. package/dist/assertion/assertion-standard-schema-async.d.ts +0 -52
  25. package/dist/assertion/assertion-standard-schema-async.d.ts.map +0 -1
  26. package/dist/assertion/assertion-standard-schema-async.js +0 -128
  27. package/dist/assertion/assertion-standard-schema-async.js.map +0 -1
  28. package/dist/assertion/assertion-standard-schema-sync.cjs +0 -141
  29. package/dist/assertion/assertion-standard-schema-sync.cjs.map +0 -1
  30. package/dist/assertion/assertion-standard-schema-sync.d.cts +0 -52
  31. package/dist/assertion/assertion-standard-schema-sync.d.cts.map +0 -1
  32. package/dist/assertion/assertion-standard-schema-sync.d.ts +0 -52
  33. package/dist/assertion/assertion-standard-schema-sync.d.ts.map +0 -1
  34. package/dist/assertion/assertion-standard-schema-sync.js +0 -137
  35. package/dist/assertion/assertion-standard-schema-sync.js.map +0 -1
  36. package/dist/assertion/assertion-sync.cjs +0 -284
  37. package/dist/assertion/assertion-sync.cjs.map +0 -1
  38. package/dist/assertion/assertion-sync.d.cts +0 -60
  39. package/dist/assertion/assertion-sync.d.cts.map +0 -1
  40. package/dist/assertion/assertion-sync.d.ts +0 -60
  41. package/dist/assertion/assertion-sync.d.ts.map +0 -1
  42. package/dist/assertion/assertion-sync.js +0 -275
  43. package/dist/assertion/assertion-sync.js.map +0 -1
  44. package/dist/assertion/assertion-types.cjs +0 -20
  45. package/dist/assertion/assertion-types.cjs.map +0 -1
  46. package/dist/assertion/assertion-types.d.cts +0 -1086
  47. package/dist/assertion/assertion-types.d.cts.map +0 -1
  48. package/dist/assertion/assertion-types.d.ts +0 -1086
  49. package/dist/assertion/assertion-types.d.ts.map +0 -1
  50. package/dist/assertion/assertion-types.js +0 -19
  51. package/dist/assertion/assertion-types.js.map +0 -1
  52. package/dist/assertion/assertion.cjs +0 -382
  53. package/dist/assertion/assertion.cjs.map +0 -1
  54. package/dist/assertion/assertion.d.cts +0 -109
  55. package/dist/assertion/assertion.d.cts.map +0 -1
  56. package/dist/assertion/assertion.d.ts +0 -109
  57. package/dist/assertion/assertion.d.ts.map +0 -1
  58. package/dist/assertion/assertion.js +0 -375
  59. package/dist/assertion/assertion.js.map +0 -1
  60. package/dist/assertion/create.cjs +0 -148
  61. package/dist/assertion/create.cjs.map +0 -1
  62. package/dist/assertion/create.d.cts +0 -85
  63. package/dist/assertion/create.d.cts.map +0 -1
  64. package/dist/assertion/create.d.ts +0 -85
  65. package/dist/assertion/create.d.ts.map +0 -1
  66. package/dist/assertion/create.js +0 -143
  67. package/dist/assertion/create.js.map +0 -1
  68. package/dist/assertion/format-assertion-failure.cjs +0 -63
  69. package/dist/assertion/format-assertion-failure.cjs.map +0 -1
  70. package/dist/assertion/format-assertion-failure.d.cts +0 -21
  71. package/dist/assertion/format-assertion-failure.d.cts.map +0 -1
  72. package/dist/assertion/format-assertion-failure.d.ts +0 -21
  73. package/dist/assertion/format-assertion-failure.d.ts.map +0 -1
  74. package/dist/assertion/format-assertion-failure.js +0 -59
  75. package/dist/assertion/format-assertion-failure.js.map +0 -1
  76. package/dist/assertion/impl/assertion-util.cjs +0 -68
  77. package/dist/assertion/impl/assertion-util.cjs.map +0 -1
  78. package/dist/assertion/impl/assertion-util.d.cts +0 -36
  79. package/dist/assertion/impl/assertion-util.d.cts.map +0 -1
  80. package/dist/assertion/impl/assertion-util.d.ts +0 -36
  81. package/dist/assertion/impl/assertion-util.d.ts.map +0 -1
  82. package/dist/assertion/impl/assertion-util.js +0 -62
  83. package/dist/assertion/impl/assertion-util.js.map +0 -1
  84. package/dist/assertion/impl/async-iterable.cjs +0 -627
  85. package/dist/assertion/impl/async-iterable.cjs.map +0 -1
  86. package/dist/assertion/impl/async-iterable.d.cts +0 -406
  87. package/dist/assertion/impl/async-iterable.d.cts.map +0 -1
  88. package/dist/assertion/impl/async-iterable.d.ts +0 -406
  89. package/dist/assertion/impl/async-iterable.d.ts.map +0 -1
  90. package/dist/assertion/impl/async-iterable.js +0 -624
  91. package/dist/assertion/impl/async-iterable.js.map +0 -1
  92. package/dist/assertion/impl/async-parametric.cjs +0 -412
  93. package/dist/assertion/impl/async-parametric.cjs.map +0 -1
  94. package/dist/assertion/impl/async-parametric.d.cts +0 -278
  95. package/dist/assertion/impl/async-parametric.d.cts.map +0 -1
  96. package/dist/assertion/impl/async-parametric.d.ts +0 -278
  97. package/dist/assertion/impl/async-parametric.d.ts.map +0 -1
  98. package/dist/assertion/impl/async-parametric.js +0 -409
  99. package/dist/assertion/impl/async-parametric.js.map +0 -1
  100. package/dist/assertion/impl/async.cjs +0 -56
  101. package/dist/assertion/impl/async.cjs.map +0 -1
  102. package/dist/assertion/impl/async.d.cts +0 -179
  103. package/dist/assertion/impl/async.d.cts.map +0 -1
  104. package/dist/assertion/impl/async.d.ts +0 -179
  105. package/dist/assertion/impl/async.d.ts.map +0 -1
  106. package/dist/assertion/impl/async.js +0 -39
  107. package/dist/assertion/impl/async.js.map +0 -1
  108. package/dist/assertion/impl/index.cjs +0 -37
  109. package/dist/assertion/impl/index.cjs.map +0 -1
  110. package/dist/assertion/impl/index.d.cts +0 -21
  111. package/dist/assertion/impl/index.d.cts.map +0 -1
  112. package/dist/assertion/impl/index.d.ts +0 -21
  113. package/dist/assertion/impl/index.d.ts.map +0 -1
  114. package/dist/assertion/impl/index.js +0 -21
  115. package/dist/assertion/impl/index.js.map +0 -1
  116. package/dist/assertion/impl/iteration-util.cjs +0 -297
  117. package/dist/assertion/impl/iteration-util.cjs.map +0 -1
  118. package/dist/assertion/impl/iteration-util.d.cts +0 -12
  119. package/dist/assertion/impl/iteration-util.d.cts.map +0 -1
  120. package/dist/assertion/impl/iteration-util.d.ts +0 -12
  121. package/dist/assertion/impl/iteration-util.d.ts.map +0 -1
  122. package/dist/assertion/impl/iteration-util.js +0 -282
  123. package/dist/assertion/impl/iteration-util.js.map +0 -1
  124. package/dist/assertion/impl/snapshot.cjs +0 -276
  125. package/dist/assertion/impl/snapshot.cjs.map +0 -1
  126. package/dist/assertion/impl/snapshot.d.cts +0 -278
  127. package/dist/assertion/impl/snapshot.d.cts.map +0 -1
  128. package/dist/assertion/impl/snapshot.d.ts +0 -278
  129. package/dist/assertion/impl/snapshot.d.ts.map +0 -1
  130. package/dist/assertion/impl/snapshot.js +0 -273
  131. package/dist/assertion/impl/snapshot.js.map +0 -1
  132. package/dist/assertion/impl/sync-basic.cjs +0 -553
  133. package/dist/assertion/impl/sync-basic.cjs.map +0 -1
  134. package/dist/assertion/impl/sync-basic.d.cts +0 -528
  135. package/dist/assertion/impl/sync-basic.d.cts.map +0 -1
  136. package/dist/assertion/impl/sync-basic.d.ts +0 -528
  137. package/dist/assertion/impl/sync-basic.d.ts.map +0 -1
  138. package/dist/assertion/impl/sync-basic.js +0 -550
  139. package/dist/assertion/impl/sync-basic.js.map +0 -1
  140. package/dist/assertion/impl/sync-collection.cjs +0 -856
  141. package/dist/assertion/impl/sync-collection.cjs.map +0 -1
  142. package/dist/assertion/impl/sync-collection.d.cts +0 -607
  143. package/dist/assertion/impl/sync-collection.d.cts.map +0 -1
  144. package/dist/assertion/impl/sync-collection.d.ts +0 -607
  145. package/dist/assertion/impl/sync-collection.d.ts.map +0 -1
  146. package/dist/assertion/impl/sync-collection.js +0 -850
  147. package/dist/assertion/impl/sync-collection.js.map +0 -1
  148. package/dist/assertion/impl/sync-date.cjs +0 -341
  149. package/dist/assertion/impl/sync-date.cjs.map +0 -1
  150. package/dist/assertion/impl/sync-date.d.cts +0 -209
  151. package/dist/assertion/impl/sync-date.d.cts.map +0 -1
  152. package/dist/assertion/impl/sync-date.d.ts +0 -209
  153. package/dist/assertion/impl/sync-date.d.ts.map +0 -1
  154. package/dist/assertion/impl/sync-date.js +0 -338
  155. package/dist/assertion/impl/sync-date.js.map +0 -1
  156. package/dist/assertion/impl/sync-esoteric.cjs +0 -214
  157. package/dist/assertion/impl/sync-esoteric.cjs.map +0 -1
  158. package/dist/assertion/impl/sync-esoteric.d.cts +0 -191
  159. package/dist/assertion/impl/sync-esoteric.d.cts.map +0 -1
  160. package/dist/assertion/impl/sync-esoteric.d.ts +0 -191
  161. package/dist/assertion/impl/sync-esoteric.d.ts.map +0 -1
  162. package/dist/assertion/impl/sync-esoteric.js +0 -211
  163. package/dist/assertion/impl/sync-esoteric.js.map +0 -1
  164. package/dist/assertion/impl/sync-iterable.cjs +0 -512
  165. package/dist/assertion/impl/sync-iterable.cjs.map +0 -1
  166. package/dist/assertion/impl/sync-iterable.d.cts +0 -334
  167. package/dist/assertion/impl/sync-iterable.d.cts.map +0 -1
  168. package/dist/assertion/impl/sync-iterable.d.ts +0 -334
  169. package/dist/assertion/impl/sync-iterable.d.ts.map +0 -1
  170. package/dist/assertion/impl/sync-iterable.js +0 -509
  171. package/dist/assertion/impl/sync-iterable.js.map +0 -1
  172. package/dist/assertion/impl/sync-parametric.cjs +0 -805
  173. package/dist/assertion/impl/sync-parametric.cjs.map +0 -1
  174. package/dist/assertion/impl/sync-parametric.d.cts +0 -560
  175. package/dist/assertion/impl/sync-parametric.d.cts.map +0 -1
  176. package/dist/assertion/impl/sync-parametric.d.ts +0 -560
  177. package/dist/assertion/impl/sync-parametric.d.ts.map +0 -1
  178. package/dist/assertion/impl/sync-parametric.js +0 -802
  179. package/dist/assertion/impl/sync-parametric.js.map +0 -1
  180. package/dist/assertion/impl/sync.cjs +0 -214
  181. package/dist/assertion/impl/sync.cjs.map +0 -1
  182. package/dist/assertion/impl/sync.d.cts +0 -512
  183. package/dist/assertion/impl/sync.d.cts.map +0 -1
  184. package/dist/assertion/impl/sync.d.ts +0 -512
  185. package/dist/assertion/impl/sync.d.ts.map +0 -1
  186. package/dist/assertion/impl/sync.js +0 -197
  187. package/dist/assertion/impl/sync.js.map +0 -1
  188. package/dist/assertion/index.cjs +0 -38
  189. package/dist/assertion/index.cjs.map +0 -1
  190. package/dist/assertion/index.d.cts +0 -18
  191. package/dist/assertion/index.d.cts.map +0 -1
  192. package/dist/assertion/index.d.ts +0 -18
  193. package/dist/assertion/index.d.ts.map +0 -1
  194. package/dist/assertion/index.js +0 -17
  195. package/dist/assertion/index.js.map +0 -1
  196. package/dist/assertion/slotify.cjs +0 -165
  197. package/dist/assertion/slotify.cjs.map +0 -1
  198. package/dist/assertion/slotify.d.cts +0 -11
  199. package/dist/assertion/slotify.d.cts.map +0 -1
  200. package/dist/assertion/slotify.d.ts +0 -11
  201. package/dist/assertion/slotify.d.ts.map +0 -1
  202. package/dist/assertion/slotify.js +0 -161
  203. package/dist/assertion/slotify.js.map +0 -1
  204. package/dist/bootstrap.cjs +0 -43
  205. package/dist/bootstrap.cjs.map +0 -1
  206. package/dist/bootstrap.d.cts +0 -27
  207. package/dist/bootstrap.d.cts.map +0 -1
  208. package/dist/bootstrap.d.ts +0 -27
  209. package/dist/bootstrap.d.ts.map +0 -1
  210. package/dist/bootstrap.js +0 -40
  211. package/dist/bootstrap.js.map +0 -1
  212. package/dist/constant.cjs +0 -82
  213. package/dist/constant.cjs.map +0 -1
  214. package/dist/constant.d.cts +0 -69
  215. package/dist/constant.d.cts.map +0 -1
  216. package/dist/constant.d.ts +0 -69
  217. package/dist/constant.d.ts.map +0 -1
  218. package/dist/constant.js +0 -79
  219. package/dist/constant.js.map +0 -1
  220. package/dist/diff.cjs +0 -340
  221. package/dist/diff.cjs.map +0 -1
  222. package/dist/diff.d.cts +0 -51
  223. package/dist/diff.d.cts.map +0 -1
  224. package/dist/diff.d.ts +0 -51
  225. package/dist/diff.d.ts.map +0 -1
  226. package/dist/diff.js +0 -334
  227. package/dist/diff.js.map +0 -1
  228. package/dist/error.cjs +0 -204
  229. package/dist/error.cjs.map +0 -1
  230. package/dist/error.d.cts +0 -212
  231. package/dist/error.d.cts.map +0 -1
  232. package/dist/error.d.ts +0 -212
  233. package/dist/error.d.ts.map +0 -1
  234. package/dist/error.js +0 -191
  235. package/dist/error.js.map +0 -1
  236. package/dist/expect.cjs +0 -590
  237. package/dist/expect.cjs.map +0 -1
  238. package/dist/expect.d.cts +0 -138
  239. package/dist/expect.d.cts.map +0 -1
  240. package/dist/expect.d.ts +0 -138
  241. package/dist/expect.d.ts.map +0 -1
  242. package/dist/expect.js +0 -582
  243. package/dist/expect.js.map +0 -1
  244. package/dist/guards.cjs +0 -297
  245. package/dist/guards.cjs.map +0 -1
  246. package/dist/guards.d.cts +0 -231
  247. package/dist/guards.d.cts.map +0 -1
  248. package/dist/guards.d.ts +0 -231
  249. package/dist/guards.d.ts.map +0 -1
  250. package/dist/guards.js +0 -277
  251. package/dist/guards.js.map +0 -1
  252. package/dist/index.cjs +0 -111
  253. package/dist/index.cjs.map +0 -1
  254. package/dist/index.d.cts +0 -448
  255. package/dist/index.d.cts.map +0 -1
  256. package/dist/index.d.ts +0 -448
  257. package/dist/index.d.ts.map +0 -1
  258. package/dist/index.js +0 -71
  259. package/dist/index.js.map +0 -1
  260. package/dist/internal-schema.cjs +0 -253
  261. package/dist/internal-schema.cjs.map +0 -1
  262. package/dist/internal-schema.d.cts +0 -8
  263. package/dist/internal-schema.d.cts.map +0 -1
  264. package/dist/internal-schema.d.ts +0 -8
  265. package/dist/internal-schema.d.ts.map +0 -1
  266. package/dist/internal-schema.js +0 -248
  267. package/dist/internal-schema.js.map +0 -1
  268. package/dist/metadata.cjs +0 -57
  269. package/dist/metadata.cjs.map +0 -1
  270. package/dist/metadata.d.cts +0 -27
  271. package/dist/metadata.d.cts.map +0 -1
  272. package/dist/metadata.d.ts +0 -27
  273. package/dist/metadata.d.ts.map +0 -1
  274. package/dist/metadata.js +0 -54
  275. package/dist/metadata.js.map +0 -1
  276. package/dist/schema.cjs +0 -1522
  277. package/dist/schema.cjs.map +0 -1
  278. package/dist/schema.d.cts +0 -1196
  279. package/dist/schema.d.cts.map +0 -1
  280. package/dist/schema.d.ts +0 -1196
  281. package/dist/schema.d.ts.map +0 -1
  282. package/dist/schema.js +0 -1516
  283. package/dist/schema.js.map +0 -1
  284. package/dist/snapshot/adapter.cjs +0 -31
  285. package/dist/snapshot/adapter.cjs.map +0 -1
  286. package/dist/snapshot/adapter.d.cts +0 -258
  287. package/dist/snapshot/adapter.d.cts.map +0 -1
  288. package/dist/snapshot/adapter.d.ts +0 -258
  289. package/dist/snapshot/adapter.d.ts.map +0 -1
  290. package/dist/snapshot/adapter.js +0 -27
  291. package/dist/snapshot/adapter.js.map +0 -1
  292. package/dist/snapshot/adapters/fallback.cjs +0 -453
  293. package/dist/snapshot/adapters/fallback.cjs.map +0 -1
  294. package/dist/snapshot/adapters/fallback.d.cts +0 -185
  295. package/dist/snapshot/adapters/fallback.d.cts.map +0 -1
  296. package/dist/snapshot/adapters/fallback.d.ts +0 -185
  297. package/dist/snapshot/adapters/fallback.d.ts.map +0 -1
  298. package/dist/snapshot/adapters/fallback.js +0 -446
  299. package/dist/snapshot/adapters/fallback.js.map +0 -1
  300. package/dist/snapshot/adapters/node-test.cjs +0 -301
  301. package/dist/snapshot/adapters/node-test.cjs.map +0 -1
  302. package/dist/snapshot/adapters/node-test.d.cts +0 -131
  303. package/dist/snapshot/adapters/node-test.d.cts.map +0 -1
  304. package/dist/snapshot/adapters/node-test.d.ts +0 -131
  305. package/dist/snapshot/adapters/node-test.d.ts.map +0 -1
  306. package/dist/snapshot/adapters/node-test.js +0 -297
  307. package/dist/snapshot/adapters/node-test.js.map +0 -1
  308. package/dist/snapshot/index.cjs +0 -61
  309. package/dist/snapshot/index.cjs.map +0 -1
  310. package/dist/snapshot/index.d.cts +0 -40
  311. package/dist/snapshot/index.d.cts.map +0 -1
  312. package/dist/snapshot/index.d.ts +0 -40
  313. package/dist/snapshot/index.d.ts.map +0 -1
  314. package/dist/snapshot/index.js +0 -44
  315. package/dist/snapshot/index.js.map +0 -1
  316. package/dist/snapshot/node-version.cjs +0 -49
  317. package/dist/snapshot/node-version.cjs.map +0 -1
  318. package/dist/snapshot/node-version.d.cts +0 -34
  319. package/dist/snapshot/node-version.d.cts.map +0 -1
  320. package/dist/snapshot/node-version.d.ts +0 -34
  321. package/dist/snapshot/node-version.d.ts.map +0 -1
  322. package/dist/snapshot/node-version.js +0 -44
  323. package/dist/snapshot/node-version.js.map +0 -1
  324. package/dist/snapshot/select-adapter.cjs +0 -170
  325. package/dist/snapshot/select-adapter.cjs.map +0 -1
  326. package/dist/snapshot/select-adapter.d.cts +0 -128
  327. package/dist/snapshot/select-adapter.d.cts.map +0 -1
  328. package/dist/snapshot/select-adapter.d.ts +0 -128
  329. package/dist/snapshot/select-adapter.d.ts.map +0 -1
  330. package/dist/snapshot/select-adapter.js +0 -164
  331. package/dist/snapshot/select-adapter.js.map +0 -1
  332. package/dist/snapshot/serializer.cjs +0 -246
  333. package/dist/snapshot/serializer.cjs.map +0 -1
  334. package/dist/snapshot/serializer.d.cts +0 -126
  335. package/dist/snapshot/serializer.d.cts.map +0 -1
  336. package/dist/snapshot/serializer.d.ts +0 -126
  337. package/dist/snapshot/serializer.d.ts.map +0 -1
  338. package/dist/snapshot/serializer.js +0 -238
  339. package/dist/snapshot/serializer.js.map +0 -1
  340. package/dist/standard-schema.cjs +0 -13
  341. package/dist/standard-schema.cjs.map +0 -1
  342. package/dist/standard-schema.d.cts +0 -192
  343. package/dist/standard-schema.d.cts.map +0 -1
  344. package/dist/standard-schema.d.ts +0 -192
  345. package/dist/standard-schema.d.ts.map +0 -1
  346. package/dist/standard-schema.js +0 -12
  347. package/dist/standard-schema.js.map +0 -1
  348. package/dist/types.cjs +0 -22
  349. package/dist/types.cjs.map +0 -1
  350. package/dist/types.d.cts +0 -905
  351. package/dist/types.d.cts.map +0 -1
  352. package/dist/types.d.ts +0 -905
  353. package/dist/types.d.ts.map +0 -1
  354. package/dist/types.js +0 -21
  355. package/dist/types.js.map +0 -1
  356. package/dist/use.cjs +0 -240
  357. package/dist/use.cjs.map +0 -1
  358. package/dist/use.d.cts +0 -8
  359. package/dist/use.d.cts.map +0 -1
  360. package/dist/use.d.ts +0 -8
  361. package/dist/use.d.ts.map +0 -1
  362. package/dist/use.js +0 -236
  363. package/dist/use.js.map +0 -1
  364. package/dist/util.cjs +0 -255
  365. package/dist/util.cjs.map +0 -1
  366. package/dist/util.d.cts +0 -141
  367. package/dist/util.d.cts.map +0 -1
  368. package/dist/util.d.ts +0 -141
  369. package/dist/util.d.ts.map +0 -1
  370. package/dist/util.js +0 -234
  371. package/dist/util.js.map +0 -1
  372. package/dist/value-to-schema.cjs +0 -537
  373. package/dist/value-to-schema.cjs.map +0 -1
  374. package/dist/value-to-schema.d.cts +0 -144
  375. package/dist/value-to-schema.d.cts.map +0 -1
  376. package/dist/value-to-schema.d.ts +0 -144
  377. package/dist/value-to-schema.d.ts.map +0 -1
  378. package/dist/value-to-schema.js +0 -533
  379. package/dist/value-to-schema.js.map +0 -1
@@ -1,238 +0,0 @@
1
- /**
2
- * Serialization utilities for converting values to snapshot strings.
3
- *
4
- * Provides default serialization logic that handles:
5
- *
6
- * - Circular references
7
- * - Non-JSON types (Functions, Symbols, BigInt, etc.)
8
- * - Error objects
9
- * - Map and Set collections
10
- * - Key sorting for deterministic output
11
- *
12
- * @packageDocumentation
13
- */
14
- const { entries, getOwnPropertyNames } = Object;
15
- const { isArray } = Array;
16
- import stringify from 'json-stable-stringify';
17
- import { isA, isError } from "../guards.js";
18
- /**
19
- * Default JSON replacer that handles non-JSON types.
20
- *
21
- * Converts JavaScript-specific types into JSON-serializable representations:
22
- *
23
- * - Functions: omitted (`undefined`)
24
- * - Symbols: converted to string
25
- * - BigInt: converted to string with `n` suffix
26
- * - `undefined`: converted to string `'undefined'`
27
- * - RegExp: converted to string representation
28
- * - Date: converted to ISO string
29
- * - Error: converted to object with name, message, and other properties
30
- * - Map: converted to `{ __type: 'Map', entries: [...] }`
31
- * - Set: converted to `{ __type: 'Set', values: [...] }`
32
- *
33
- * @example
34
- *
35
- * ```typescript
36
- * defaultReplacer(Symbol('test')); // 'Symbol(test)'
37
- * defaultReplacer(42n); // '42n'
38
- * defaultReplacer(() => {}); // undefined (omitted)
39
- * ```
40
- *
41
- * @function
42
- * @param value - Value to convert
43
- * @returns Converted value, or `undefined` to omit
44
- */
45
- const defaultReplacer = (value) => {
46
- // Functions are omitted
47
- if (typeof value === 'function' || value === undefined) {
48
- return undefined;
49
- }
50
- // Symbols converted to string
51
- if (typeof value === 'symbol') {
52
- return value.toString();
53
- }
54
- // BigInt converted to string with suffix
55
- if (typeof value === 'bigint') {
56
- return `${value.toString()}n`;
57
- }
58
- if (isA(value, RegExp)) {
59
- return value.toString();
60
- }
61
- if (isA(value, Date)) {
62
- return value.toISOString();
63
- }
64
- if (isError(value)) {
65
- const errorProps = {
66
- message: value.message,
67
- name: value.name,
68
- };
69
- // Include other enumerable properties
70
- for (const prop of getOwnPropertyNames(value)) {
71
- if (prop !== 'stack') {
72
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
73
- errorProps[prop] = value[prop];
74
- }
75
- }
76
- return errorProps;
77
- }
78
- // Map to array of entries
79
- if (isA(value, Map)) {
80
- return {
81
- __type: 'Map',
82
- entries: [...value.entries()],
83
- };
84
- }
85
- // Set to array
86
- if (isA(value, Set)) {
87
- return {
88
- __type: 'Set',
89
- values: [...value.values()],
90
- };
91
- }
92
- return value;
93
- };
94
- /**
95
- * Detects and marks circular references in an object graph, and applies
96
- * replacer for special types.
97
- *
98
- * Uses a WeakSet to track visited objects without holding strong references.
99
- * Circular references are replaced with the string `'[Circular]'`.
100
- *
101
- * @example
102
- *
103
- * ```typescript
104
- * const obj: any = { a: 1 };
105
- * obj.self = obj;
106
- * detectCircular(obj, defaultReplacer); // { a: 1, self: '[Circular]' }
107
- * ```
108
- *
109
- * @function
110
- * @param value - Value to process
111
- * @param replacer - Function to transform values
112
- * @returns Value with circular references replaced and special types converted
113
- */
114
- const detectCircular = (value, replacer) => {
115
- const seen = new WeakSet();
116
- /**
117
- * @function
118
- */
119
- const visit = (val) => {
120
- // Apply replacer first (handles special types)
121
- const replaced = replacer(val);
122
- // If replacer returned something different, use it
123
- if (replaced !== val) {
124
- // If replaced is an object, we need to visit it recursively
125
- if (typeof replaced === 'object' && replaced !== null) {
126
- val = replaced;
127
- }
128
- else {
129
- // Primitive or special transformation, return as-is
130
- return replaced;
131
- }
132
- }
133
- // Primitives can't be circular
134
- if (typeof val !== 'object' || val === null) {
135
- return val;
136
- }
137
- // Check if we've seen this object before
138
- if (seen.has(val)) {
139
- return '[Circular]';
140
- }
141
- // Mark as seen
142
- seen.add(val);
143
- // Handle arrays
144
- if (isArray(val)) {
145
- return val.map((item) => visit(item));
146
- }
147
- // Handle plain objects
148
- const result = {};
149
- for (const [key, value] of entries(val)) {
150
- const visited = visit(value);
151
- // Only include if not undefined (functions are omitted)
152
- if (visited !== undefined) {
153
- result[key] = visited;
154
- }
155
- }
156
- return result;
157
- };
158
- return visit(value);
159
- };
160
- /**
161
- * Default serializer using JSON.stringify with custom handling.
162
- *
163
- * This serializer provides robust handling of JavaScript values including:
164
- *
165
- * - Circular reference detection
166
- * - Non-JSON type conversion
167
- * - Optional key sorting for deterministic output
168
- * - Custom replacer support
169
- *
170
- * The output is formatted with 2-space indentation for readability.
171
- *
172
- * @example
173
- *
174
- * ```typescript
175
- * const obj = { b: 2, a: 1, date: new Date('2025-01-01') };
176
- * defaultSerializer(obj, { sortKeys: true });
177
- * // Returns:
178
- * // {
179
- * // "a": 1,
180
- * // "b": 2,
181
- * // "date": "2025-01-01T00:00:00.000Z"
182
- * // }
183
- * ```
184
- *
185
- * @example
186
- *
187
- * ```typescript
188
- * const circular: any = { a: 1 };
189
- * circular.self = circular;
190
- * defaultSerializer(circular);
191
- * // Returns:
192
- * // {
193
- * // "a": 1,
194
- * // "self": "[Circular]"
195
- * // }
196
- * ```
197
- *
198
- * @function
199
- * @param value - Value to serialize
200
- * @param options - Serialization options
201
- * @returns JSON string representation
202
- */
203
- export const defaultSerializer = (value, options = {}) => {
204
- const { replacer = defaultReplacer } = options;
205
- // Handle circular references and apply replacer
206
- const processed = detectCircular(value, replacer);
207
- // Don't pass replacer to stringify - it's already been applied
208
- return String(stringify(processed, { space: 2 }));
209
- };
210
- /**
211
- * Serializer compatible with node:test's snapshot format.
212
- *
213
- * This is currently an alias for {@link defaultSerializer}, but exists as a
214
- * separate export to allow for future node:test-specific customization.
215
- *
216
- * @example
217
- *
218
- * ```typescript
219
- * import test from 'node:test';
220
- * import { nodeTestCompatibleSerializer } from 'bupkis/snapshot';
221
- *
222
- * test('my test', (t) => {
223
- * const data = { foo: 'bar' };
224
- * expect(data, 'to match snapshot', t, {
225
- * serializer: nodeTestCompatibleSerializer,
226
- * });
227
- * });
228
- * ```
229
- *
230
- * @function
231
- * @param value - Value to serialize
232
- * @returns JSON string representation
233
- */
234
- export const nodeTestCompatibleSerializer = (value) => {
235
- // Node:test expects the same format as our default serializer
236
- return defaultSerializer(value);
237
- };
238
- //# sourceMappingURL=serializer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../src/snapshot/serializer.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- "use strict";
2
- /**
3
- * Standard Schema v1 specification types.
4
- *
5
- * These types define the Standard Schema interface that enables
6
- * interoperability between different validation libraries (Zod, Valibot,
7
- * ArkType, etc.).
8
- *
9
- * @packageDocumentation
10
- * @see {@link https://standardschema.dev | Standard Schema Specification}
11
- */
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- //# sourceMappingURL=standard-schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"standard-schema.js","sourceRoot":"","sources":["../src/standard-schema.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG"}
@@ -1,192 +0,0 @@
1
- /**
2
- * Standard Schema v1 specification types.
3
- *
4
- * These types define the Standard Schema interface that enables
5
- * interoperability between different validation libraries (Zod, Valibot,
6
- * ArkType, etc.).
7
- *
8
- * @packageDocumentation
9
- * @see {@link https://standardschema.dev | Standard Schema Specification}
10
- */
11
- /**
12
- * The Standard Schema interface.
13
- *
14
- * This is the primary interface that validation libraries implement to be
15
- * Standard Schema compliant. The interface is designed to be minimal and
16
- * non-invasive, tucked behind the `~standard` property to avoid API conflicts.
17
- *
18
- * @template Input - The input type accepted by the schema
19
- * @template Output - The output type produced after successful validation
20
- */
21
- export interface StandardSchemaV1<Input = unknown, Output = Input> {
22
- /**
23
- * The Standard Schema properties.
24
- *
25
- * This property uses a tilde prefix to:
26
- *
27
- * - Avoid conflicts with existing library APIs
28
- * - De-prioritize in IDE autocomplete (tilde sorts after alphanumeric)
29
- * - Signal special/internal nature of the property
30
- */
31
- readonly '~standard': StandardSchemaV1.Props<Input, Output>;
32
- }
33
- export declare namespace StandardSchemaV1 {
34
- /**
35
- * The result interface if validation fails.
36
- *
37
- * Contains an array of issues describing what went wrong during validation.
38
- */
39
- interface FailureResult {
40
- /**
41
- * The issues of failed validation.
42
- *
43
- * Always present and non-empty when validation fails.
44
- */
45
- readonly issues: ReadonlyArray<Issue>;
46
- }
47
- /**
48
- * Infers the input type of a Standard Schema.
49
- *
50
- * Utility type for extracting the input type from a schema instance.
51
- *
52
- * @template Schema - The Standard Schema to extract the input type from
53
- */
54
- type InferInput<Schema extends StandardSchemaV1> = NonNullable<Schema['~standard']['types']>['input'];
55
- /**
56
- * Infers the output type of a Standard Schema.
57
- *
58
- * Utility type for extracting the output type from a schema instance.
59
- *
60
- * @template Schema - The Standard Schema to extract the output type from
61
- */
62
- type InferOutput<Schema extends StandardSchemaV1> = NonNullable<Schema['~standard']['types']>['output'];
63
- /**
64
- * The issue interface of the failure output.
65
- *
66
- * Describes a single validation problem, including a human-readable message
67
- * and optional path to the problematic value in nested structures.
68
- */
69
- interface Issue {
70
- /**
71
- * The error message of the issue.
72
- *
73
- * Human-readable description of what validation rule was violated.
74
- */
75
- readonly message: string;
76
- /**
77
- * The path of the issue, if any.
78
- *
79
- * For nested structures, indicates where in the object/array hierarchy the
80
- * validation failed. Can contain property keys or path segment objects.
81
- */
82
- readonly path?: ReadonlyArray<PathSegment | PropertyKey> | undefined;
83
- }
84
- /**
85
- * The path segment interface of the issue.
86
- *
87
- * Allows path elements to carry additional metadata beyond just the key.
88
- */
89
- interface PathSegment {
90
- /**
91
- * The key representing a path segment.
92
- *
93
- * Can be a string, number, or symbol identifying the path component.
94
- */
95
- readonly key: PropertyKey;
96
- }
97
- /**
98
- * The Standard Schema properties interface.
99
- *
100
- * Contains the actual validation logic and metadata required by the spec.
101
- *
102
- * @template Input - The input type accepted by the schema
103
- * @template Output - The output type produced after successful validation
104
- */
105
- interface Props<Input = unknown, Output = Input> {
106
- /**
107
- * Inferred types associated with the schema.
108
- *
109
- * Optional property that allows TypeScript type inference for the schema.
110
- * Not all libraries may provide this.
111
- */
112
- readonly types?: Types<Input, Output> | undefined;
113
- /**
114
- * Validates unknown input values.
115
- *
116
- * This function performs validation and returns either a success result
117
- * with the validated/transformed data, or a failure result with validation
118
- * issues. May return a Promise for async validation.
119
- *
120
- * @param value - The unknown value to validate
121
- * @returns Result object or Promise resolving to result object
122
- */
123
- readonly validate: (value: unknown) => Promise<Result<Output>> | Result<Output>;
124
- /**
125
- * The vendor name of the schema library.
126
- *
127
- * Examples: 'zod', 'valibot', 'arktype', 'yup', etc.
128
- */
129
- readonly vendor: string;
130
- /**
131
- * The version number of the standard.
132
- *
133
- * Currently only version 1 is defined. Future versions will increment this
134
- * number to maintain backward compatibility.
135
- */
136
- readonly version: 1;
137
- }
138
- /**
139
- * The result interface of the validate function.
140
- *
141
- * A discriminated union that represents either successful or failed
142
- * validation.
143
- */
144
- type Result<Output> = FailureResult | SuccessResult<Output>;
145
- /**
146
- * The result interface if validation succeeds.
147
- *
148
- * Contains the validated/transformed output value and explicitly sets
149
- * `issues` to undefined to distinguish from failure results.
150
- *
151
- * @template Output - The output type after successful validation
152
- */
153
- interface SuccessResult<Output> {
154
- /**
155
- * The non-existent issues.
156
- *
157
- * Explicitly undefined to create a discriminated union with FailureResult.
158
- */
159
- readonly issues?: undefined;
160
- /**
161
- * The typed output value.
162
- *
163
- * This may be the same as the input or a transformed version, depending on
164
- * the schema's validation logic.
165
- */
166
- readonly value: Output;
167
- }
168
- /**
169
- * The Standard Schema types interface.
170
- *
171
- * Provides TypeScript type information for schemas that support type
172
- * inference.
173
- *
174
- * @template Input - The input type of the schema
175
- * @template Output - The output type of the schema
176
- */
177
- interface Types<Input = unknown, Output = Input> {
178
- /**
179
- * The input type of the schema.
180
- *
181
- * The type of values that can be passed to the validate function.
182
- */
183
- readonly input: Input;
184
- /**
185
- * The output type of the schema.
186
- *
187
- * The type of values produced after successful validation.
188
- */
189
- readonly output: Output;
190
- }
191
- }
192
- //# sourceMappingURL=standard-schema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"standard-schema.d.ts","sourceRoot":"","sources":["../src/standard-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;;;;GASG;AACH,MAAM,WAAW,gBAAgB,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,GAAG,KAAK;IAC/D;;;;;;;;OAQG;IACH,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;CAC7D;AAGD,MAAM,CAAC,OAAO,WAAW,gBAAgB,CAAC;IACxC;;;;OAIG;IACH,UAAiB,aAAa;QAC5B;;;;WAIG;QACH,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;KACvC;IAED;;;;;;OAMG;IACH,KAAY,UAAU,CAAC,MAAM,SAAS,gBAAgB,IAAI,WAAW,CACnE,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAC7B,CAAC,OAAO,CAAC,CAAC;IAEX;;;;;;OAMG;IACH,KAAY,WAAW,CAAC,MAAM,SAAS,gBAAgB,IAAI,WAAW,CACpE,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAC7B,CAAC,QAAQ,CAAC,CAAC;IAEZ;;;;;OAKG;IACH,UAAiB,KAAK;QACpB;;;;WAIG;QACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAEzB;;;;;WAKG;QACH,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,SAAS,CAAC;KACtE;IAED;;;;OAIG;IACH,UAAiB,WAAW;QAC1B;;;;WAIG;QACH,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;KAC3B;IAED;;;;;;;OAOG;IACH,UAAiB,KAAK,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,GAAG,KAAK;QACpD;;;;;WAKG;QACH,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;QAElD;;;;;;;;;WASG;QACH,QAAQ,CAAC,QAAQ,EAAE,CACjB,KAAK,EAAE,OAAO,KACX,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAE9C;;;;WAIG;QACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAExB;;;;;WAKG;QACH,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;KACrB;IAED;;;;;OAKG;IACH,KAAY,MAAM,CAAC,MAAM,IAAI,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAEnE;;;;;;;OAOG;IACH,UAAiB,aAAa,CAAC,MAAM;QACnC;;;;WAIG;QACH,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;QAE5B;;;;;WAKG;QACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB;IAED;;;;;;;;OAQG;IACH,UAAiB,KAAK,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,GAAG,KAAK;QACpD;;;;WAIG;QACH,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;QAEtB;;;;WAIG;QACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACzB;CACF"}
@@ -1,192 +0,0 @@
1
- /**
2
- * Standard Schema v1 specification types.
3
- *
4
- * These types define the Standard Schema interface that enables
5
- * interoperability between different validation libraries (Zod, Valibot,
6
- * ArkType, etc.).
7
- *
8
- * @packageDocumentation
9
- * @see {@link https://standardschema.dev | Standard Schema Specification}
10
- */
11
- /**
12
- * The Standard Schema interface.
13
- *
14
- * This is the primary interface that validation libraries implement to be
15
- * Standard Schema compliant. The interface is designed to be minimal and
16
- * non-invasive, tucked behind the `~standard` property to avoid API conflicts.
17
- *
18
- * @template Input - The input type accepted by the schema
19
- * @template Output - The output type produced after successful validation
20
- */
21
- export interface StandardSchemaV1<Input = unknown, Output = Input> {
22
- /**
23
- * The Standard Schema properties.
24
- *
25
- * This property uses a tilde prefix to:
26
- *
27
- * - Avoid conflicts with existing library APIs
28
- * - De-prioritize in IDE autocomplete (tilde sorts after alphanumeric)
29
- * - Signal special/internal nature of the property
30
- */
31
- readonly '~standard': StandardSchemaV1.Props<Input, Output>;
32
- }
33
- export declare namespace StandardSchemaV1 {
34
- /**
35
- * The result interface if validation fails.
36
- *
37
- * Contains an array of issues describing what went wrong during validation.
38
- */
39
- interface FailureResult {
40
- /**
41
- * The issues of failed validation.
42
- *
43
- * Always present and non-empty when validation fails.
44
- */
45
- readonly issues: ReadonlyArray<Issue>;
46
- }
47
- /**
48
- * Infers the input type of a Standard Schema.
49
- *
50
- * Utility type for extracting the input type from a schema instance.
51
- *
52
- * @template Schema - The Standard Schema to extract the input type from
53
- */
54
- type InferInput<Schema extends StandardSchemaV1> = NonNullable<Schema['~standard']['types']>['input'];
55
- /**
56
- * Infers the output type of a Standard Schema.
57
- *
58
- * Utility type for extracting the output type from a schema instance.
59
- *
60
- * @template Schema - The Standard Schema to extract the output type from
61
- */
62
- type InferOutput<Schema extends StandardSchemaV1> = NonNullable<Schema['~standard']['types']>['output'];
63
- /**
64
- * The issue interface of the failure output.
65
- *
66
- * Describes a single validation problem, including a human-readable message
67
- * and optional path to the problematic value in nested structures.
68
- */
69
- interface Issue {
70
- /**
71
- * The error message of the issue.
72
- *
73
- * Human-readable description of what validation rule was violated.
74
- */
75
- readonly message: string;
76
- /**
77
- * The path of the issue, if any.
78
- *
79
- * For nested structures, indicates where in the object/array hierarchy the
80
- * validation failed. Can contain property keys or path segment objects.
81
- */
82
- readonly path?: ReadonlyArray<PathSegment | PropertyKey> | undefined;
83
- }
84
- /**
85
- * The path segment interface of the issue.
86
- *
87
- * Allows path elements to carry additional metadata beyond just the key.
88
- */
89
- interface PathSegment {
90
- /**
91
- * The key representing a path segment.
92
- *
93
- * Can be a string, number, or symbol identifying the path component.
94
- */
95
- readonly key: PropertyKey;
96
- }
97
- /**
98
- * The Standard Schema properties interface.
99
- *
100
- * Contains the actual validation logic and metadata required by the spec.
101
- *
102
- * @template Input - The input type accepted by the schema
103
- * @template Output - The output type produced after successful validation
104
- */
105
- interface Props<Input = unknown, Output = Input> {
106
- /**
107
- * Inferred types associated with the schema.
108
- *
109
- * Optional property that allows TypeScript type inference for the schema.
110
- * Not all libraries may provide this.
111
- */
112
- readonly types?: Types<Input, Output> | undefined;
113
- /**
114
- * Validates unknown input values.
115
- *
116
- * This function performs validation and returns either a success result
117
- * with the validated/transformed data, or a failure result with validation
118
- * issues. May return a Promise for async validation.
119
- *
120
- * @param value - The unknown value to validate
121
- * @returns Result object or Promise resolving to result object
122
- */
123
- readonly validate: (value: unknown) => Promise<Result<Output>> | Result<Output>;
124
- /**
125
- * The vendor name of the schema library.
126
- *
127
- * Examples: 'zod', 'valibot', 'arktype', 'yup', etc.
128
- */
129
- readonly vendor: string;
130
- /**
131
- * The version number of the standard.
132
- *
133
- * Currently only version 1 is defined. Future versions will increment this
134
- * number to maintain backward compatibility.
135
- */
136
- readonly version: 1;
137
- }
138
- /**
139
- * The result interface of the validate function.
140
- *
141
- * A discriminated union that represents either successful or failed
142
- * validation.
143
- */
144
- type Result<Output> = FailureResult | SuccessResult<Output>;
145
- /**
146
- * The result interface if validation succeeds.
147
- *
148
- * Contains the validated/transformed output value and explicitly sets
149
- * `issues` to undefined to distinguish from failure results.
150
- *
151
- * @template Output - The output type after successful validation
152
- */
153
- interface SuccessResult<Output> {
154
- /**
155
- * The non-existent issues.
156
- *
157
- * Explicitly undefined to create a discriminated union with FailureResult.
158
- */
159
- readonly issues?: undefined;
160
- /**
161
- * The typed output value.
162
- *
163
- * This may be the same as the input or a transformed version, depending on
164
- * the schema's validation logic.
165
- */
166
- readonly value: Output;
167
- }
168
- /**
169
- * The Standard Schema types interface.
170
- *
171
- * Provides TypeScript type information for schemas that support type
172
- * inference.
173
- *
174
- * @template Input - The input type of the schema
175
- * @template Output - The output type of the schema
176
- */
177
- interface Types<Input = unknown, Output = Input> {
178
- /**
179
- * The input type of the schema.
180
- *
181
- * The type of values that can be passed to the validate function.
182
- */
183
- readonly input: Input;
184
- /**
185
- * The output type of the schema.
186
- *
187
- * The type of values produced after successful validation.
188
- */
189
- readonly output: Output;
190
- }
191
- }
192
- //# sourceMappingURL=standard-schema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"standard-schema.d.ts","sourceRoot":"","sources":["../src/standard-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;;;;GASG;AACH,MAAM,WAAW,gBAAgB,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,GAAG,KAAK;IAC/D;;;;;;;;OAQG;IACH,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;CAC7D;AAGD,MAAM,CAAC,OAAO,WAAW,gBAAgB,CAAC;IACxC;;;;OAIG;IACH,UAAiB,aAAa;QAC5B;;;;WAIG;QACH,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;KACvC;IAED;;;;;;OAMG;IACH,KAAY,UAAU,CAAC,MAAM,SAAS,gBAAgB,IAAI,WAAW,CACnE,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAC7B,CAAC,OAAO,CAAC,CAAC;IAEX;;;;;;OAMG;IACH,KAAY,WAAW,CAAC,MAAM,SAAS,gBAAgB,IAAI,WAAW,CACpE,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAC7B,CAAC,QAAQ,CAAC,CAAC;IAEZ;;;;;OAKG;IACH,UAAiB,KAAK;QACpB;;;;WAIG;QACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAEzB;;;;;WAKG;QACH,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,SAAS,CAAC;KACtE;IAED;;;;OAIG;IACH,UAAiB,WAAW;QAC1B;;;;WAIG;QACH,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;KAC3B;IAED;;;;;;;OAOG;IACH,UAAiB,KAAK,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,GAAG,KAAK;QACpD;;;;;WAKG;QACH,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;QAElD;;;;;;;;;WASG;QACH,QAAQ,CAAC,QAAQ,EAAE,CACjB,KAAK,EAAE,OAAO,KACX,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAE9C;;;;WAIG;QACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAExB;;;;;WAKG;QACH,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;KACrB;IAED;;;;;OAKG;IACH,KAAY,MAAM,CAAC,MAAM,IAAI,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAEnE;;;;;;;OAOG;IACH,UAAiB,aAAa,CAAC,MAAM;QACnC;;;;WAIG;QACH,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;QAE5B;;;;;WAKG;QACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB;IAED;;;;;;;;OAQG;IACH,UAAiB,KAAK,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,GAAG,KAAK;QACpD;;;;WAIG;QACH,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;QAEtB;;;;WAIG;QACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACzB;CACF"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Standard Schema v1 specification types.
3
- *
4
- * These types define the Standard Schema interface that enables
5
- * interoperability between different validation libraries (Zod, Valibot,
6
- * ArkType, etc.).
7
- *
8
- * @packageDocumentation
9
- * @see {@link https://standardschema.dev | Standard Schema Specification}
10
- */
11
- export {};
12
- //# sourceMappingURL=standard-schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"standard-schema.js","sourceRoot":"","sources":["../src/standard-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}