bupkis 0.18.1 → 0.18.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (376) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/package.json +1 -4
  3. package/src/assertion/assertion-types.ts +4 -4
  4. package/src/assertion/impl/sync-parametric.ts +1 -1
  5. package/src/expect.ts +0 -4
  6. package/src/guards.ts +24 -24
  7. package/src/internal-schema.ts +16 -32
  8. package/src/value-to-schema.ts +1 -1
  9. package/dist/assertion/assertion-async.cjs +0 -268
  10. package/dist/assertion/assertion-async.cjs.map +0 -1
  11. package/dist/assertion/assertion-async.d.cts +0 -40
  12. package/dist/assertion/assertion-async.d.cts.map +0 -1
  13. package/dist/assertion/assertion-async.d.ts +0 -40
  14. package/dist/assertion/assertion-async.d.ts.map +0 -1
  15. package/dist/assertion/assertion-async.js +0 -259
  16. package/dist/assertion/assertion-async.js.map +0 -1
  17. package/dist/assertion/assertion-standard-schema-async.cjs +0 -132
  18. package/dist/assertion/assertion-standard-schema-async.cjs.map +0 -1
  19. package/dist/assertion/assertion-standard-schema-async.d.cts +0 -52
  20. package/dist/assertion/assertion-standard-schema-async.d.cts.map +0 -1
  21. package/dist/assertion/assertion-standard-schema-async.d.ts +0 -52
  22. package/dist/assertion/assertion-standard-schema-async.d.ts.map +0 -1
  23. package/dist/assertion/assertion-standard-schema-async.js +0 -128
  24. package/dist/assertion/assertion-standard-schema-async.js.map +0 -1
  25. package/dist/assertion/assertion-standard-schema-sync.cjs +0 -141
  26. package/dist/assertion/assertion-standard-schema-sync.cjs.map +0 -1
  27. package/dist/assertion/assertion-standard-schema-sync.d.cts +0 -52
  28. package/dist/assertion/assertion-standard-schema-sync.d.cts.map +0 -1
  29. package/dist/assertion/assertion-standard-schema-sync.d.ts +0 -52
  30. package/dist/assertion/assertion-standard-schema-sync.d.ts.map +0 -1
  31. package/dist/assertion/assertion-standard-schema-sync.js +0 -137
  32. package/dist/assertion/assertion-standard-schema-sync.js.map +0 -1
  33. package/dist/assertion/assertion-sync.cjs +0 -284
  34. package/dist/assertion/assertion-sync.cjs.map +0 -1
  35. package/dist/assertion/assertion-sync.d.cts +0 -60
  36. package/dist/assertion/assertion-sync.d.cts.map +0 -1
  37. package/dist/assertion/assertion-sync.d.ts +0 -60
  38. package/dist/assertion/assertion-sync.d.ts.map +0 -1
  39. package/dist/assertion/assertion-sync.js +0 -275
  40. package/dist/assertion/assertion-sync.js.map +0 -1
  41. package/dist/assertion/assertion-types.cjs +0 -20
  42. package/dist/assertion/assertion-types.cjs.map +0 -1
  43. package/dist/assertion/assertion-types.d.cts +0 -1086
  44. package/dist/assertion/assertion-types.d.cts.map +0 -1
  45. package/dist/assertion/assertion-types.d.ts +0 -1086
  46. package/dist/assertion/assertion-types.d.ts.map +0 -1
  47. package/dist/assertion/assertion-types.js +0 -19
  48. package/dist/assertion/assertion-types.js.map +0 -1
  49. package/dist/assertion/assertion.cjs +0 -382
  50. package/dist/assertion/assertion.cjs.map +0 -1
  51. package/dist/assertion/assertion.d.cts +0 -109
  52. package/dist/assertion/assertion.d.cts.map +0 -1
  53. package/dist/assertion/assertion.d.ts +0 -109
  54. package/dist/assertion/assertion.d.ts.map +0 -1
  55. package/dist/assertion/assertion.js +0 -375
  56. package/dist/assertion/assertion.js.map +0 -1
  57. package/dist/assertion/create.cjs +0 -148
  58. package/dist/assertion/create.cjs.map +0 -1
  59. package/dist/assertion/create.d.cts +0 -85
  60. package/dist/assertion/create.d.cts.map +0 -1
  61. package/dist/assertion/create.d.ts +0 -85
  62. package/dist/assertion/create.d.ts.map +0 -1
  63. package/dist/assertion/create.js +0 -143
  64. package/dist/assertion/create.js.map +0 -1
  65. package/dist/assertion/format-assertion-failure.cjs +0 -63
  66. package/dist/assertion/format-assertion-failure.cjs.map +0 -1
  67. package/dist/assertion/format-assertion-failure.d.cts +0 -21
  68. package/dist/assertion/format-assertion-failure.d.cts.map +0 -1
  69. package/dist/assertion/format-assertion-failure.d.ts +0 -21
  70. package/dist/assertion/format-assertion-failure.d.ts.map +0 -1
  71. package/dist/assertion/format-assertion-failure.js +0 -59
  72. package/dist/assertion/format-assertion-failure.js.map +0 -1
  73. package/dist/assertion/impl/assertion-util.cjs +0 -68
  74. package/dist/assertion/impl/assertion-util.cjs.map +0 -1
  75. package/dist/assertion/impl/assertion-util.d.cts +0 -36
  76. package/dist/assertion/impl/assertion-util.d.cts.map +0 -1
  77. package/dist/assertion/impl/assertion-util.d.ts +0 -36
  78. package/dist/assertion/impl/assertion-util.d.ts.map +0 -1
  79. package/dist/assertion/impl/assertion-util.js +0 -62
  80. package/dist/assertion/impl/assertion-util.js.map +0 -1
  81. package/dist/assertion/impl/async-iterable.cjs +0 -627
  82. package/dist/assertion/impl/async-iterable.cjs.map +0 -1
  83. package/dist/assertion/impl/async-iterable.d.cts +0 -406
  84. package/dist/assertion/impl/async-iterable.d.cts.map +0 -1
  85. package/dist/assertion/impl/async-iterable.d.ts +0 -406
  86. package/dist/assertion/impl/async-iterable.d.ts.map +0 -1
  87. package/dist/assertion/impl/async-iterable.js +0 -624
  88. package/dist/assertion/impl/async-iterable.js.map +0 -1
  89. package/dist/assertion/impl/async-parametric.cjs +0 -412
  90. package/dist/assertion/impl/async-parametric.cjs.map +0 -1
  91. package/dist/assertion/impl/async-parametric.d.cts +0 -278
  92. package/dist/assertion/impl/async-parametric.d.cts.map +0 -1
  93. package/dist/assertion/impl/async-parametric.d.ts +0 -278
  94. package/dist/assertion/impl/async-parametric.d.ts.map +0 -1
  95. package/dist/assertion/impl/async-parametric.js +0 -409
  96. package/dist/assertion/impl/async-parametric.js.map +0 -1
  97. package/dist/assertion/impl/async.cjs +0 -56
  98. package/dist/assertion/impl/async.cjs.map +0 -1
  99. package/dist/assertion/impl/async.d.cts +0 -179
  100. package/dist/assertion/impl/async.d.cts.map +0 -1
  101. package/dist/assertion/impl/async.d.ts +0 -179
  102. package/dist/assertion/impl/async.d.ts.map +0 -1
  103. package/dist/assertion/impl/async.js +0 -39
  104. package/dist/assertion/impl/async.js.map +0 -1
  105. package/dist/assertion/impl/index.cjs +0 -37
  106. package/dist/assertion/impl/index.cjs.map +0 -1
  107. package/dist/assertion/impl/index.d.cts +0 -21
  108. package/dist/assertion/impl/index.d.cts.map +0 -1
  109. package/dist/assertion/impl/index.d.ts +0 -21
  110. package/dist/assertion/impl/index.d.ts.map +0 -1
  111. package/dist/assertion/impl/index.js +0 -21
  112. package/dist/assertion/impl/index.js.map +0 -1
  113. package/dist/assertion/impl/iteration-util.cjs +0 -297
  114. package/dist/assertion/impl/iteration-util.cjs.map +0 -1
  115. package/dist/assertion/impl/iteration-util.d.cts +0 -12
  116. package/dist/assertion/impl/iteration-util.d.cts.map +0 -1
  117. package/dist/assertion/impl/iteration-util.d.ts +0 -12
  118. package/dist/assertion/impl/iteration-util.d.ts.map +0 -1
  119. package/dist/assertion/impl/iteration-util.js +0 -282
  120. package/dist/assertion/impl/iteration-util.js.map +0 -1
  121. package/dist/assertion/impl/snapshot.cjs +0 -276
  122. package/dist/assertion/impl/snapshot.cjs.map +0 -1
  123. package/dist/assertion/impl/snapshot.d.cts +0 -278
  124. package/dist/assertion/impl/snapshot.d.cts.map +0 -1
  125. package/dist/assertion/impl/snapshot.d.ts +0 -278
  126. package/dist/assertion/impl/snapshot.d.ts.map +0 -1
  127. package/dist/assertion/impl/snapshot.js +0 -273
  128. package/dist/assertion/impl/snapshot.js.map +0 -1
  129. package/dist/assertion/impl/sync-basic.cjs +0 -553
  130. package/dist/assertion/impl/sync-basic.cjs.map +0 -1
  131. package/dist/assertion/impl/sync-basic.d.cts +0 -528
  132. package/dist/assertion/impl/sync-basic.d.cts.map +0 -1
  133. package/dist/assertion/impl/sync-basic.d.ts +0 -528
  134. package/dist/assertion/impl/sync-basic.d.ts.map +0 -1
  135. package/dist/assertion/impl/sync-basic.js +0 -550
  136. package/dist/assertion/impl/sync-basic.js.map +0 -1
  137. package/dist/assertion/impl/sync-collection.cjs +0 -856
  138. package/dist/assertion/impl/sync-collection.cjs.map +0 -1
  139. package/dist/assertion/impl/sync-collection.d.cts +0 -607
  140. package/dist/assertion/impl/sync-collection.d.cts.map +0 -1
  141. package/dist/assertion/impl/sync-collection.d.ts +0 -607
  142. package/dist/assertion/impl/sync-collection.d.ts.map +0 -1
  143. package/dist/assertion/impl/sync-collection.js +0 -850
  144. package/dist/assertion/impl/sync-collection.js.map +0 -1
  145. package/dist/assertion/impl/sync-date.cjs +0 -341
  146. package/dist/assertion/impl/sync-date.cjs.map +0 -1
  147. package/dist/assertion/impl/sync-date.d.cts +0 -209
  148. package/dist/assertion/impl/sync-date.d.cts.map +0 -1
  149. package/dist/assertion/impl/sync-date.d.ts +0 -209
  150. package/dist/assertion/impl/sync-date.d.ts.map +0 -1
  151. package/dist/assertion/impl/sync-date.js +0 -338
  152. package/dist/assertion/impl/sync-date.js.map +0 -1
  153. package/dist/assertion/impl/sync-esoteric.cjs +0 -214
  154. package/dist/assertion/impl/sync-esoteric.cjs.map +0 -1
  155. package/dist/assertion/impl/sync-esoteric.d.cts +0 -191
  156. package/dist/assertion/impl/sync-esoteric.d.cts.map +0 -1
  157. package/dist/assertion/impl/sync-esoteric.d.ts +0 -191
  158. package/dist/assertion/impl/sync-esoteric.d.ts.map +0 -1
  159. package/dist/assertion/impl/sync-esoteric.js +0 -211
  160. package/dist/assertion/impl/sync-esoteric.js.map +0 -1
  161. package/dist/assertion/impl/sync-iterable.cjs +0 -512
  162. package/dist/assertion/impl/sync-iterable.cjs.map +0 -1
  163. package/dist/assertion/impl/sync-iterable.d.cts +0 -334
  164. package/dist/assertion/impl/sync-iterable.d.cts.map +0 -1
  165. package/dist/assertion/impl/sync-iterable.d.ts +0 -334
  166. package/dist/assertion/impl/sync-iterable.d.ts.map +0 -1
  167. package/dist/assertion/impl/sync-iterable.js +0 -509
  168. package/dist/assertion/impl/sync-iterable.js.map +0 -1
  169. package/dist/assertion/impl/sync-parametric.cjs +0 -805
  170. package/dist/assertion/impl/sync-parametric.cjs.map +0 -1
  171. package/dist/assertion/impl/sync-parametric.d.cts +0 -560
  172. package/dist/assertion/impl/sync-parametric.d.cts.map +0 -1
  173. package/dist/assertion/impl/sync-parametric.d.ts +0 -560
  174. package/dist/assertion/impl/sync-parametric.d.ts.map +0 -1
  175. package/dist/assertion/impl/sync-parametric.js +0 -802
  176. package/dist/assertion/impl/sync-parametric.js.map +0 -1
  177. package/dist/assertion/impl/sync.cjs +0 -214
  178. package/dist/assertion/impl/sync.cjs.map +0 -1
  179. package/dist/assertion/impl/sync.d.cts +0 -512
  180. package/dist/assertion/impl/sync.d.cts.map +0 -1
  181. package/dist/assertion/impl/sync.d.ts +0 -512
  182. package/dist/assertion/impl/sync.d.ts.map +0 -1
  183. package/dist/assertion/impl/sync.js +0 -197
  184. package/dist/assertion/impl/sync.js.map +0 -1
  185. package/dist/assertion/index.cjs +0 -38
  186. package/dist/assertion/index.cjs.map +0 -1
  187. package/dist/assertion/index.d.cts +0 -18
  188. package/dist/assertion/index.d.cts.map +0 -1
  189. package/dist/assertion/index.d.ts +0 -18
  190. package/dist/assertion/index.d.ts.map +0 -1
  191. package/dist/assertion/index.js +0 -17
  192. package/dist/assertion/index.js.map +0 -1
  193. package/dist/assertion/slotify.cjs +0 -165
  194. package/dist/assertion/slotify.cjs.map +0 -1
  195. package/dist/assertion/slotify.d.cts +0 -11
  196. package/dist/assertion/slotify.d.cts.map +0 -1
  197. package/dist/assertion/slotify.d.ts +0 -11
  198. package/dist/assertion/slotify.d.ts.map +0 -1
  199. package/dist/assertion/slotify.js +0 -161
  200. package/dist/assertion/slotify.js.map +0 -1
  201. package/dist/bootstrap.cjs +0 -43
  202. package/dist/bootstrap.cjs.map +0 -1
  203. package/dist/bootstrap.d.cts +0 -27
  204. package/dist/bootstrap.d.cts.map +0 -1
  205. package/dist/bootstrap.d.ts +0 -27
  206. package/dist/bootstrap.d.ts.map +0 -1
  207. package/dist/bootstrap.js +0 -40
  208. package/dist/bootstrap.js.map +0 -1
  209. package/dist/constant.cjs +0 -82
  210. package/dist/constant.cjs.map +0 -1
  211. package/dist/constant.d.cts +0 -69
  212. package/dist/constant.d.cts.map +0 -1
  213. package/dist/constant.d.ts +0 -69
  214. package/dist/constant.d.ts.map +0 -1
  215. package/dist/constant.js +0 -79
  216. package/dist/constant.js.map +0 -1
  217. package/dist/diff.cjs +0 -340
  218. package/dist/diff.cjs.map +0 -1
  219. package/dist/diff.d.cts +0 -51
  220. package/dist/diff.d.cts.map +0 -1
  221. package/dist/diff.d.ts +0 -51
  222. package/dist/diff.d.ts.map +0 -1
  223. package/dist/diff.js +0 -334
  224. package/dist/diff.js.map +0 -1
  225. package/dist/error.cjs +0 -204
  226. package/dist/error.cjs.map +0 -1
  227. package/dist/error.d.cts +0 -212
  228. package/dist/error.d.cts.map +0 -1
  229. package/dist/error.d.ts +0 -212
  230. package/dist/error.d.ts.map +0 -1
  231. package/dist/error.js +0 -191
  232. package/dist/error.js.map +0 -1
  233. package/dist/expect.cjs +0 -590
  234. package/dist/expect.cjs.map +0 -1
  235. package/dist/expect.d.cts +0 -138
  236. package/dist/expect.d.cts.map +0 -1
  237. package/dist/expect.d.ts +0 -138
  238. package/dist/expect.d.ts.map +0 -1
  239. package/dist/expect.js +0 -582
  240. package/dist/expect.js.map +0 -1
  241. package/dist/guards.cjs +0 -297
  242. package/dist/guards.cjs.map +0 -1
  243. package/dist/guards.d.cts +0 -231
  244. package/dist/guards.d.cts.map +0 -1
  245. package/dist/guards.d.ts +0 -231
  246. package/dist/guards.d.ts.map +0 -1
  247. package/dist/guards.js +0 -277
  248. package/dist/guards.js.map +0 -1
  249. package/dist/index.cjs +0 -111
  250. package/dist/index.cjs.map +0 -1
  251. package/dist/index.d.cts +0 -448
  252. package/dist/index.d.cts.map +0 -1
  253. package/dist/index.d.ts +0 -448
  254. package/dist/index.d.ts.map +0 -1
  255. package/dist/index.js +0 -71
  256. package/dist/index.js.map +0 -1
  257. package/dist/internal-schema.cjs +0 -253
  258. package/dist/internal-schema.cjs.map +0 -1
  259. package/dist/internal-schema.d.cts +0 -8
  260. package/dist/internal-schema.d.cts.map +0 -1
  261. package/dist/internal-schema.d.ts +0 -8
  262. package/dist/internal-schema.d.ts.map +0 -1
  263. package/dist/internal-schema.js +0 -248
  264. package/dist/internal-schema.js.map +0 -1
  265. package/dist/metadata.cjs +0 -57
  266. package/dist/metadata.cjs.map +0 -1
  267. package/dist/metadata.d.cts +0 -27
  268. package/dist/metadata.d.cts.map +0 -1
  269. package/dist/metadata.d.ts +0 -27
  270. package/dist/metadata.d.ts.map +0 -1
  271. package/dist/metadata.js +0 -54
  272. package/dist/metadata.js.map +0 -1
  273. package/dist/schema.cjs +0 -1522
  274. package/dist/schema.cjs.map +0 -1
  275. package/dist/schema.d.cts +0 -1196
  276. package/dist/schema.d.cts.map +0 -1
  277. package/dist/schema.d.ts +0 -1196
  278. package/dist/schema.d.ts.map +0 -1
  279. package/dist/schema.js +0 -1516
  280. package/dist/schema.js.map +0 -1
  281. package/dist/snapshot/adapter.cjs +0 -31
  282. package/dist/snapshot/adapter.cjs.map +0 -1
  283. package/dist/snapshot/adapter.d.cts +0 -258
  284. package/dist/snapshot/adapter.d.cts.map +0 -1
  285. package/dist/snapshot/adapter.d.ts +0 -258
  286. package/dist/snapshot/adapter.d.ts.map +0 -1
  287. package/dist/snapshot/adapter.js +0 -27
  288. package/dist/snapshot/adapter.js.map +0 -1
  289. package/dist/snapshot/adapters/fallback.cjs +0 -453
  290. package/dist/snapshot/adapters/fallback.cjs.map +0 -1
  291. package/dist/snapshot/adapters/fallback.d.cts +0 -185
  292. package/dist/snapshot/adapters/fallback.d.cts.map +0 -1
  293. package/dist/snapshot/adapters/fallback.d.ts +0 -185
  294. package/dist/snapshot/adapters/fallback.d.ts.map +0 -1
  295. package/dist/snapshot/adapters/fallback.js +0 -446
  296. package/dist/snapshot/adapters/fallback.js.map +0 -1
  297. package/dist/snapshot/adapters/node-test.cjs +0 -301
  298. package/dist/snapshot/adapters/node-test.cjs.map +0 -1
  299. package/dist/snapshot/adapters/node-test.d.cts +0 -131
  300. package/dist/snapshot/adapters/node-test.d.cts.map +0 -1
  301. package/dist/snapshot/adapters/node-test.d.ts +0 -131
  302. package/dist/snapshot/adapters/node-test.d.ts.map +0 -1
  303. package/dist/snapshot/adapters/node-test.js +0 -297
  304. package/dist/snapshot/adapters/node-test.js.map +0 -1
  305. package/dist/snapshot/index.cjs +0 -61
  306. package/dist/snapshot/index.cjs.map +0 -1
  307. package/dist/snapshot/index.d.cts +0 -40
  308. package/dist/snapshot/index.d.cts.map +0 -1
  309. package/dist/snapshot/index.d.ts +0 -40
  310. package/dist/snapshot/index.d.ts.map +0 -1
  311. package/dist/snapshot/index.js +0 -44
  312. package/dist/snapshot/index.js.map +0 -1
  313. package/dist/snapshot/node-version.cjs +0 -49
  314. package/dist/snapshot/node-version.cjs.map +0 -1
  315. package/dist/snapshot/node-version.d.cts +0 -34
  316. package/dist/snapshot/node-version.d.cts.map +0 -1
  317. package/dist/snapshot/node-version.d.ts +0 -34
  318. package/dist/snapshot/node-version.d.ts.map +0 -1
  319. package/dist/snapshot/node-version.js +0 -44
  320. package/dist/snapshot/node-version.js.map +0 -1
  321. package/dist/snapshot/select-adapter.cjs +0 -170
  322. package/dist/snapshot/select-adapter.cjs.map +0 -1
  323. package/dist/snapshot/select-adapter.d.cts +0 -128
  324. package/dist/snapshot/select-adapter.d.cts.map +0 -1
  325. package/dist/snapshot/select-adapter.d.ts +0 -128
  326. package/dist/snapshot/select-adapter.d.ts.map +0 -1
  327. package/dist/snapshot/select-adapter.js +0 -164
  328. package/dist/snapshot/select-adapter.js.map +0 -1
  329. package/dist/snapshot/serializer.cjs +0 -246
  330. package/dist/snapshot/serializer.cjs.map +0 -1
  331. package/dist/snapshot/serializer.d.cts +0 -126
  332. package/dist/snapshot/serializer.d.cts.map +0 -1
  333. package/dist/snapshot/serializer.d.ts +0 -126
  334. package/dist/snapshot/serializer.d.ts.map +0 -1
  335. package/dist/snapshot/serializer.js +0 -238
  336. package/dist/snapshot/serializer.js.map +0 -1
  337. package/dist/standard-schema.cjs +0 -13
  338. package/dist/standard-schema.cjs.map +0 -1
  339. package/dist/standard-schema.d.cts +0 -192
  340. package/dist/standard-schema.d.cts.map +0 -1
  341. package/dist/standard-schema.d.ts +0 -192
  342. package/dist/standard-schema.d.ts.map +0 -1
  343. package/dist/standard-schema.js +0 -12
  344. package/dist/standard-schema.js.map +0 -1
  345. package/dist/types.cjs +0 -22
  346. package/dist/types.cjs.map +0 -1
  347. package/dist/types.d.cts +0 -905
  348. package/dist/types.d.cts.map +0 -1
  349. package/dist/types.d.ts +0 -905
  350. package/dist/types.d.ts.map +0 -1
  351. package/dist/types.js +0 -21
  352. package/dist/types.js.map +0 -1
  353. package/dist/use.cjs +0 -240
  354. package/dist/use.cjs.map +0 -1
  355. package/dist/use.d.cts +0 -8
  356. package/dist/use.d.cts.map +0 -1
  357. package/dist/use.d.ts +0 -8
  358. package/dist/use.d.ts.map +0 -1
  359. package/dist/use.js +0 -236
  360. package/dist/use.js.map +0 -1
  361. package/dist/util.cjs +0 -255
  362. package/dist/util.cjs.map +0 -1
  363. package/dist/util.d.cts +0 -141
  364. package/dist/util.d.cts.map +0 -1
  365. package/dist/util.d.ts +0 -141
  366. package/dist/util.d.ts.map +0 -1
  367. package/dist/util.js +0 -234
  368. package/dist/util.js.map +0 -1
  369. package/dist/value-to-schema.cjs +0 -537
  370. package/dist/value-to-schema.cjs.map +0 -1
  371. package/dist/value-to-schema.d.cts +0 -144
  372. package/dist/value-to-schema.d.cts.map +0 -1
  373. package/dist/value-to-schema.d.ts +0 -144
  374. package/dist/value-to-schema.d.ts.map +0 -1
  375. package/dist/value-to-schema.js +0 -533
  376. package/dist/value-to-schema.js.map +0 -1
@@ -1,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":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,GAAG,MAAM,CAAC;AAChD,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;AAE1B,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAE9C,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,qBAAqB;AAgD5C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,eAAe,GAAG,CAAC,KAAc,EAAW,EAAE;IAClD,wBAAwB;IACxB,IAAI,OAAO,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACvD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,8BAA8B;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAED,yCAAyC;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC;IAChC,CAAC;IAED,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,UAAU,GAA4B;YAC1C,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC;QAEF,sCAAsC;QACtC,KAAK,MAAM,IAAI,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9C,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACrB,sEAAsE;gBACtE,UAAU,CAAC,IAAI,CAAC,GAAI,KAAa,CAAC,IAAI,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,0BAA0B;IAC1B,IAAI,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO;YACL,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;SAC9B,CAAC;IACJ,CAAC;IAED,eAAe;IACf,IAAI,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO;YACL,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;SAC5B,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,cAAc,GAAG,CACrB,KAAc,EACd,QAAqC,EAC5B,EAAE;IACX,MAAM,IAAI,GAAG,IAAI,OAAO,EAAU,CAAC;IAEnC;;OAEG;IACH,MAAM,KAAK,GAAG,CAAC,GAAY,EAAW,EAAE;QACtC,+CAA+C;QAC/C,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAE/B,mDAAmD;QACnD,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;YACrB,4DAA4D;YAC5D,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACtD,GAAG,GAAG,QAAQ,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,oDAAoD;gBACpD,OAAO,QAAQ,CAAC;YAClB,CAAC;QACH,CAAC;QAED,+BAA+B;QAC/B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC5C,OAAO,GAAG,CAAC;QACb,CAAC;QAED,yCAAyC;QACzC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,eAAe;QACf,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEd,gBAAgB;QAChB,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACxC,CAAC;QAED,uBAAuB;QACvB,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YAC7B,wDAAwD;YACxD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;YACxB,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,KAAc,EACd,UAA6B,EAAE,EACvB,EAAE;IACV,MAAM,EAAE,QAAQ,GAAG,eAAe,EAAE,GAAG,OAAO,CAAC;IAE/C,gDAAgD;IAChD,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAClD,+DAA+D;IAC/D,OAAO,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,KAAc,EAAU,EAAE;IACrE,8DAA8D;IAC9D,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC,CAAC"}
@@ -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"}