bguard 0.0.9 → 0.1.1

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 (424) hide show
  1. package/README.md +844 -26
  2. package/lib/{CommonSchema-BIe85W_A.d.mts → CommonSchema-BbGNki0L.d.ts} +7 -4
  3. package/lib/{CommonSchema-BIe85W_A.d.ts → CommonSchema-CjsYE4dC.d.mts} +7 -4
  4. package/lib/InferType.d.mts +2 -1
  5. package/lib/InferType.d.ts +2 -1
  6. package/lib/asserts/array/index.d.mts +4 -3
  7. package/lib/asserts/array/index.d.ts +4 -3
  8. package/lib/asserts/array/index.js +6 -6
  9. package/lib/asserts/array/index.mjs +5 -5
  10. package/lib/asserts/boolean/index.d.mts +4 -3
  11. package/lib/asserts/boolean/index.d.ts +4 -3
  12. package/lib/asserts/boolean/index.js +7 -6
  13. package/lib/asserts/boolean/index.js.map +1 -1
  14. package/lib/asserts/boolean/index.mjs +6 -5
  15. package/lib/asserts/mix/equalTo.d.mts +22 -0
  16. package/lib/asserts/mix/equalTo.d.ts +22 -0
  17. package/lib/asserts/mix/equalTo.js +9 -0
  18. package/lib/asserts/mix/equalTo.js.map +1 -0
  19. package/lib/asserts/mix/equalTo.mjs +9 -0
  20. package/lib/asserts/{common → mix}/index.d.mts +5 -4
  21. package/lib/asserts/{common → mix}/index.d.ts +5 -4
  22. package/lib/asserts/mix/index.js +10 -0
  23. package/lib/asserts/mix/index.js.map +1 -0
  24. package/lib/asserts/mix/index.mjs +10 -0
  25. package/lib/asserts/mix/oneOfValues.d.mts +23 -0
  26. package/lib/asserts/mix/oneOfValues.d.ts +23 -0
  27. package/lib/asserts/mix/oneOfValues.js +9 -0
  28. package/lib/asserts/mix/oneOfValues.js.map +1 -0
  29. package/lib/asserts/mix/oneOfValues.mjs +9 -0
  30. package/lib/asserts/number/index.d.mts +4 -3
  31. package/lib/asserts/number/index.d.ts +4 -3
  32. package/lib/asserts/number/index.js +11 -7
  33. package/lib/asserts/number/index.js.map +1 -1
  34. package/lib/asserts/number/index.mjs +10 -6
  35. package/lib/asserts/number/max.d.mts +15 -10
  36. package/lib/asserts/number/max.d.ts +15 -10
  37. package/lib/asserts/number/max.js +11 -4
  38. package/lib/asserts/number/max.js.map +1 -1
  39. package/lib/asserts/number/max.mjs +12 -5
  40. package/lib/asserts/number/max.mjs.map +1 -1
  41. package/lib/asserts/number/maxExcluded.d.mts +14 -9
  42. package/lib/asserts/number/maxExcluded.d.ts +14 -9
  43. package/lib/asserts/number/maxExcluded.js +11 -4
  44. package/lib/asserts/number/maxExcluded.js.map +1 -1
  45. package/lib/asserts/number/maxExcluded.mjs +12 -5
  46. package/lib/asserts/number/maxExcluded.mjs.map +1 -1
  47. package/lib/asserts/number/min.d.mts +15 -10
  48. package/lib/asserts/number/min.d.ts +15 -10
  49. package/lib/asserts/number/min.js +11 -4
  50. package/lib/asserts/number/min.js.map +1 -1
  51. package/lib/asserts/number/min.mjs +12 -5
  52. package/lib/asserts/number/min.mjs.map +1 -1
  53. package/lib/asserts/number/minExcluded.d.mts +15 -10
  54. package/lib/asserts/number/minExcluded.d.ts +15 -10
  55. package/lib/asserts/number/minExcluded.js +11 -4
  56. package/lib/asserts/number/minExcluded.js.map +1 -1
  57. package/lib/asserts/number/minExcluded.mjs +12 -5
  58. package/lib/asserts/number/minExcluded.mjs.map +1 -1
  59. package/lib/asserts/number/negative.d.mts +14 -9
  60. package/lib/asserts/number/negative.d.ts +14 -9
  61. package/lib/asserts/number/negative.js +11 -3
  62. package/lib/asserts/number/negative.js.map +1 -1
  63. package/lib/asserts/number/negative.mjs +12 -4
  64. package/lib/asserts/number/negative.mjs.map +1 -1
  65. package/lib/asserts/number/positive.d.mts +14 -9
  66. package/lib/asserts/number/positive.d.ts +14 -9
  67. package/lib/asserts/number/positive.js +11 -3
  68. package/lib/asserts/number/positive.js.map +1 -1
  69. package/lib/asserts/number/positive.mjs +12 -4
  70. package/lib/asserts/number/positive.mjs.map +1 -1
  71. package/lib/asserts/object/index.d.mts +4 -3
  72. package/lib/asserts/object/index.d.ts +4 -3
  73. package/lib/asserts/object/index.js +6 -6
  74. package/lib/asserts/object/index.mjs +5 -5
  75. package/lib/asserts/string/atLeastOneDigit.d.mts +20 -0
  76. package/lib/asserts/string/atLeastOneDigit.d.ts +20 -0
  77. package/lib/asserts/string/atLeastOneDigit.js +21 -0
  78. package/lib/asserts/string/atLeastOneDigit.js.map +1 -0
  79. package/lib/asserts/string/atLeastOneDigit.mjs +21 -0
  80. package/lib/asserts/string/atLeastOneDigit.mjs.map +1 -0
  81. package/lib/asserts/string/atLeastOneLowerChar.d.mts +20 -0
  82. package/lib/asserts/string/atLeastOneLowerChar.d.ts +20 -0
  83. package/lib/asserts/string/atLeastOneLowerChar.js +22 -0
  84. package/lib/asserts/string/atLeastOneLowerChar.js.map +1 -0
  85. package/lib/asserts/string/atLeastOneLowerChar.mjs +22 -0
  86. package/lib/asserts/string/atLeastOneLowerChar.mjs.map +1 -0
  87. package/lib/asserts/string/atLeastOneSpecialChar.d.mts +25 -0
  88. package/lib/asserts/string/atLeastOneSpecialChar.d.ts +25 -0
  89. package/lib/asserts/string/atLeastOneSpecialChar.js +26 -0
  90. package/lib/asserts/string/atLeastOneSpecialChar.js.map +1 -0
  91. package/lib/asserts/string/atLeastOneSpecialChar.mjs +26 -0
  92. package/lib/asserts/string/atLeastOneSpecialChar.mjs.map +1 -0
  93. package/lib/asserts/string/atLeastOneUpperChar.d.mts +20 -0
  94. package/lib/asserts/string/atLeastOneUpperChar.d.ts +20 -0
  95. package/lib/asserts/string/atLeastOneUpperChar.js +22 -0
  96. package/lib/asserts/string/atLeastOneUpperChar.js.map +1 -0
  97. package/lib/asserts/string/atLeastOneUpperChar.mjs +22 -0
  98. package/lib/asserts/string/atLeastOneUpperChar.mjs.map +1 -0
  99. package/lib/asserts/string/contains.d.mts +21 -0
  100. package/lib/asserts/string/contains.d.ts +21 -0
  101. package/lib/asserts/string/contains.js +22 -0
  102. package/lib/asserts/string/contains.js.map +1 -0
  103. package/lib/asserts/string/contains.mjs +22 -0
  104. package/lib/asserts/string/contains.mjs.map +1 -0
  105. package/lib/asserts/string/email.d.mts +13 -9
  106. package/lib/asserts/string/email.d.ts +13 -9
  107. package/lib/asserts/string/email.js +11 -4
  108. package/lib/asserts/string/email.js.map +1 -1
  109. package/lib/asserts/string/email.mjs +12 -5
  110. package/lib/asserts/string/email.mjs.map +1 -1
  111. package/lib/asserts/string/endsWith.d.mts +21 -0
  112. package/lib/asserts/string/endsWith.d.ts +21 -0
  113. package/lib/asserts/string/endsWith.js +22 -0
  114. package/lib/asserts/string/endsWith.js.map +1 -0
  115. package/lib/asserts/string/endsWith.mjs +22 -0
  116. package/lib/asserts/string/endsWith.mjs.map +1 -0
  117. package/lib/asserts/string/index.d.mts +4 -3
  118. package/lib/asserts/string/index.d.ts +4 -3
  119. package/lib/asserts/string/index.js +11 -7
  120. package/lib/asserts/string/index.js.map +1 -1
  121. package/lib/asserts/string/index.mjs +10 -6
  122. package/lib/asserts/string/lowerCase.d.mts +20 -0
  123. package/lib/asserts/string/lowerCase.d.ts +20 -0
  124. package/lib/asserts/string/lowerCase.js +20 -0
  125. package/lib/asserts/string/lowerCase.js.map +1 -0
  126. package/lib/asserts/string/lowerCase.mjs +20 -0
  127. package/lib/asserts/string/lowerCase.mjs.map +1 -0
  128. package/lib/asserts/string/maxLength.d.mts +14 -9
  129. package/lib/asserts/string/maxLength.d.ts +14 -9
  130. package/lib/asserts/string/maxLength.js +11 -4
  131. package/lib/asserts/string/maxLength.js.map +1 -1
  132. package/lib/asserts/string/maxLength.mjs +12 -5
  133. package/lib/asserts/string/maxLength.mjs.map +1 -1
  134. package/lib/asserts/string/minLength.d.mts +14 -9
  135. package/lib/asserts/string/minLength.d.ts +14 -9
  136. package/lib/asserts/string/minLength.js +11 -4
  137. package/lib/asserts/string/minLength.js.map +1 -1
  138. package/lib/asserts/string/minLength.mjs +12 -5
  139. package/lib/asserts/string/minLength.mjs.map +1 -1
  140. package/lib/asserts/string/regExp.d.mts +14 -9
  141. package/lib/asserts/string/regExp.d.ts +14 -9
  142. package/lib/asserts/string/regExp.js +11 -4
  143. package/lib/asserts/string/regExp.js.map +1 -1
  144. package/lib/asserts/string/regExp.mjs +12 -5
  145. package/lib/asserts/string/regExp.mjs.map +1 -1
  146. package/lib/asserts/string/startsWith.d.mts +21 -0
  147. package/lib/asserts/string/startsWith.d.ts +21 -0
  148. package/lib/asserts/string/startsWith.js +22 -0
  149. package/lib/asserts/string/startsWith.js.map +1 -0
  150. package/lib/asserts/string/startsWith.mjs +22 -0
  151. package/lib/asserts/string/startsWith.mjs.map +1 -0
  152. package/lib/asserts/string/upperCase.d.mts +21 -0
  153. package/lib/asserts/string/upperCase.d.ts +21 -0
  154. package/lib/asserts/string/upperCase.js +22 -0
  155. package/lib/asserts/string/upperCase.js.map +1 -0
  156. package/lib/asserts/string/upperCase.mjs +22 -0
  157. package/lib/asserts/string/upperCase.mjs.map +1 -0
  158. package/lib/asserts/string/uuid.d.mts +20 -0
  159. package/lib/asserts/string/uuid.d.ts +20 -0
  160. package/lib/asserts/string/uuid.js +23 -0
  161. package/lib/asserts/string/uuid.js.map +1 -0
  162. package/lib/asserts/string/uuid.mjs +23 -0
  163. package/lib/asserts/string/uuid.mjs.map +1 -0
  164. package/lib/asserts/string/uuidV1.d.mts +21 -0
  165. package/lib/asserts/string/uuidV1.d.ts +21 -0
  166. package/lib/asserts/string/uuidV1.js +23 -0
  167. package/lib/asserts/string/uuidV1.js.map +1 -0
  168. package/lib/asserts/string/uuidV1.mjs +23 -0
  169. package/lib/asserts/string/uuidV1.mjs.map +1 -0
  170. package/lib/asserts/string/uuidV2.d.mts +21 -0
  171. package/lib/asserts/string/uuidV2.d.ts +21 -0
  172. package/lib/asserts/string/uuidV2.js +23 -0
  173. package/lib/asserts/string/uuidV2.js.map +1 -0
  174. package/lib/asserts/string/uuidV2.mjs +23 -0
  175. package/lib/asserts/string/uuidV2.mjs.map +1 -0
  176. package/lib/asserts/string/uuidV3.d.mts +21 -0
  177. package/lib/asserts/string/uuidV3.d.ts +21 -0
  178. package/lib/asserts/string/uuidV3.js +23 -0
  179. package/lib/asserts/string/uuidV3.js.map +1 -0
  180. package/lib/asserts/string/uuidV3.mjs +23 -0
  181. package/lib/asserts/string/uuidV3.mjs.map +1 -0
  182. package/lib/asserts/string/uuidV4.d.mts +23 -0
  183. package/lib/asserts/string/uuidV4.d.ts +23 -0
  184. package/lib/asserts/string/uuidV4.js +23 -0
  185. package/lib/asserts/string/uuidV4.js.map +1 -0
  186. package/lib/asserts/string/uuidV4.mjs +23 -0
  187. package/lib/asserts/string/uuidV4.mjs.map +1 -0
  188. package/lib/asserts/string/uuidV5.d.mts +21 -0
  189. package/lib/asserts/string/uuidV5.d.ts +21 -0
  190. package/lib/asserts/string/uuidV5.js +23 -0
  191. package/lib/asserts/string/uuidV5.js.map +1 -0
  192. package/lib/asserts/string/uuidV5.mjs +23 -0
  193. package/lib/asserts/string/uuidV5.mjs.map +1 -0
  194. package/lib/asserts/string/validUrl.d.mts +23 -0
  195. package/lib/asserts/string/validUrl.d.ts +23 -0
  196. package/lib/asserts/string/validUrl.js +32 -0
  197. package/lib/asserts/string/validUrl.js.map +1 -0
  198. package/lib/asserts/string/validUrl.mjs +32 -0
  199. package/lib/asserts/string/validUrl.mjs.map +1 -0
  200. package/lib/{chunk-32IQXZRK.mjs → chunk-2PM3K3OE.mjs} +2 -2
  201. package/lib/{chunk-32IQXZRK.mjs.map → chunk-2PM3K3OE.mjs.map} +1 -1
  202. package/lib/{chunk-KCBOOOTF.mjs → chunk-32RSTOZ4.mjs} +2 -2
  203. package/lib/{chunk-KCBOOOTF.mjs.map → chunk-32RSTOZ4.mjs.map} +1 -1
  204. package/lib/chunk-3HTYHE2X.mjs +54 -0
  205. package/lib/chunk-3HTYHE2X.mjs.map +1 -0
  206. package/lib/chunk-3O4WCRC2.mjs +21 -0
  207. package/lib/chunk-3O4WCRC2.mjs.map +1 -0
  208. package/lib/chunk-42J6CHIO.js +7 -0
  209. package/lib/chunk-42J6CHIO.js.map +1 -0
  210. package/lib/chunk-4CYIMDP2.js +21 -0
  211. package/lib/chunk-4CYIMDP2.js.map +1 -0
  212. package/lib/chunk-5BVJ6YMH.js +54 -0
  213. package/lib/chunk-5BVJ6YMH.js.map +1 -0
  214. package/lib/chunk-6TH3DBDK.js +53 -0
  215. package/lib/chunk-6TH3DBDK.js.map +1 -0
  216. package/lib/chunk-7XFLH6R2.mjs +44 -0
  217. package/lib/chunk-7XFLH6R2.mjs.map +1 -0
  218. package/lib/chunk-ASZW6XRM.mjs +7 -0
  219. package/lib/chunk-ASZW6XRM.mjs.map +1 -0
  220. package/lib/{chunk-GEZME6V2.mjs → chunk-CCBCDJXS.mjs} +11 -6
  221. package/lib/chunk-CCBCDJXS.mjs.map +1 -0
  222. package/lib/chunk-DJSLA2ZV.js +27 -0
  223. package/lib/chunk-DJSLA2ZV.js.map +1 -0
  224. package/lib/{chunk-L7HUXYFV.mjs → chunk-DPBE7TAQ.mjs} +2 -2
  225. package/lib/chunk-DPBE7TAQ.mjs.map +1 -0
  226. package/lib/{chunk-APTTIN2L.js → chunk-EGEHSELT.js} +6 -6
  227. package/lib/chunk-EGEHSELT.js.map +1 -0
  228. package/lib/chunk-H7CPKW53.js +47 -0
  229. package/lib/chunk-H7CPKW53.js.map +1 -0
  230. package/lib/{chunk-A7I2JEQO.js → chunk-HDSGCAHH.js} +3 -3
  231. package/lib/{chunk-A7I2JEQO.js.map → chunk-HDSGCAHH.js.map} +1 -1
  232. package/lib/{chunk-L6A7NXUJ.js → chunk-IEUXIOL6.js} +3 -3
  233. package/lib/{chunk-L6A7NXUJ.js.map → chunk-IEUXIOL6.js.map} +1 -1
  234. package/lib/chunk-IRG4OQAB.js +63 -0
  235. package/lib/chunk-IRG4OQAB.js.map +1 -0
  236. package/lib/chunk-J4VKFJQK.js +21 -0
  237. package/lib/chunk-J4VKFJQK.js.map +1 -0
  238. package/lib/{chunk-A2SAWKJA.mjs → chunk-JDGZCBXF.mjs} +2 -2
  239. package/lib/{chunk-A2SAWKJA.mjs.map → chunk-JDGZCBXF.mjs.map} +1 -1
  240. package/lib/chunk-JPRCULRQ.mjs +61 -0
  241. package/lib/chunk-JPRCULRQ.mjs.map +1 -0
  242. package/lib/chunk-JSGZ7DKT.js +14 -0
  243. package/lib/chunk-JSGZ7DKT.js.map +1 -0
  244. package/lib/chunk-KQKJASVB.js +58 -0
  245. package/lib/chunk-KQKJASVB.js.map +1 -0
  246. package/lib/chunk-LEQCDD66.js +61 -0
  247. package/lib/chunk-LEQCDD66.js.map +1 -0
  248. package/lib/{chunk-AJ4WV5DG.mjs → chunk-MRISXZQ4.mjs} +3 -3
  249. package/lib/chunk-MRISXZQ4.mjs.map +1 -0
  250. package/lib/{chunk-A3UTB4RE.mjs → chunk-NDQM5OL4.mjs} +4 -4
  251. package/lib/chunk-NDQM5OL4.mjs.map +1 -0
  252. package/lib/chunk-NNFYXHLU.mjs +21 -0
  253. package/lib/chunk-NNFYXHLU.mjs.map +1 -0
  254. package/lib/chunk-P7IXNCJG.mjs +58 -0
  255. package/lib/chunk-P7IXNCJG.mjs.map +1 -0
  256. package/lib/chunk-PG2R7P7G.mjs +27 -0
  257. package/lib/chunk-PG2R7P7G.mjs.map +1 -0
  258. package/lib/chunk-PH2PMUZP.mjs +63 -0
  259. package/lib/chunk-PH2PMUZP.mjs.map +1 -0
  260. package/lib/{chunk-BGMR7A6X.mjs → chunk-PXBAS3GA.mjs} +2 -2
  261. package/lib/{chunk-BGMR7A6X.mjs.map → chunk-PXBAS3GA.mjs.map} +1 -1
  262. package/lib/chunk-QQNQ4IDN.js +13 -0
  263. package/lib/chunk-QQNQ4IDN.js.map +1 -0
  264. package/lib/{chunk-QKGQ4XZC.js → chunk-RD6TBCPQ.js} +3 -3
  265. package/lib/{chunk-QKGQ4XZC.js.map → chunk-RD6TBCPQ.js.map} +1 -1
  266. package/lib/chunk-RRQOET3X.js +28 -0
  267. package/lib/chunk-RRQOET3X.js.map +1 -0
  268. package/lib/chunk-RYVUYVEE.mjs +14 -0
  269. package/lib/chunk-RYVUYVEE.mjs.map +1 -0
  270. package/lib/{chunk-QYLH5ZAC.mjs → chunk-TCQY2R3U.mjs} +25 -4
  271. package/lib/chunk-TCQY2R3U.mjs.map +1 -0
  272. package/lib/{chunk-PJP63SJT.js → chunk-TKZ6FLLR.js} +3 -3
  273. package/lib/{chunk-PJP63SJT.js.map → chunk-TKZ6FLLR.js.map} +1 -1
  274. package/lib/{chunk-K2S3FS5K.js → chunk-VHEA4JZ5.js} +3 -3
  275. package/lib/{chunk-K2S3FS5K.js.map → chunk-VHEA4JZ5.js.map} +1 -1
  276. package/lib/{chunk-VPFIIM2X.js → chunk-WBERBAL4.js} +11 -6
  277. package/lib/chunk-WBERBAL4.js.map +1 -0
  278. package/lib/chunk-WK4O3HH4.js +44 -0
  279. package/lib/chunk-WK4O3HH4.js.map +1 -0
  280. package/lib/{chunk-3FEJUC3K.mjs → chunk-YML32TPA.mjs} +2 -2
  281. package/lib/{chunk-3FEJUC3K.mjs.map → chunk-YML32TPA.mjs.map} +1 -1
  282. package/lib/chunk-YUESB2WV.mjs +47 -0
  283. package/lib/chunk-YUESB2WV.mjs.map +1 -0
  284. package/lib/codeGen.d.mts +7 -0
  285. package/lib/codeGen.d.ts +7 -0
  286. package/lib/codeGen.js +51 -0
  287. package/lib/codeGen.js.map +1 -0
  288. package/lib/codeGen.mjs +51 -0
  289. package/lib/codeGen.mjs.map +1 -0
  290. package/lib/commonTypes.d.mts +31 -0
  291. package/lib/commonTypes.d.ts +31 -0
  292. package/lib/commonTypes.js +1 -0
  293. package/lib/commonTypes.js.map +1 -0
  294. package/lib/commonTypes.mjs +1 -0
  295. package/lib/exceptions.d.mts +4 -2
  296. package/lib/exceptions.d.ts +4 -2
  297. package/lib/exceptions.js +2 -2
  298. package/lib/exceptions.mjs +3 -3
  299. package/lib/helpers/constants.d.mts +3 -0
  300. package/lib/helpers/constants.d.ts +3 -0
  301. package/lib/helpers/constants.js +7 -0
  302. package/lib/helpers/constants.js.map +1 -0
  303. package/lib/helpers/constants.mjs +7 -0
  304. package/lib/helpers/constants.mjs.map +1 -0
  305. package/lib/helpers/core.d.mts +2 -0
  306. package/lib/helpers/core.d.ts +2 -0
  307. package/lib/helpers/core.js +10 -0
  308. package/lib/helpers/core.js.map +1 -0
  309. package/lib/helpers/core.mjs +10 -0
  310. package/lib/helpers/core.mjs.map +1 -0
  311. package/lib/helpers/setStrictType.d.mts +6 -0
  312. package/lib/helpers/setStrictType.d.ts +6 -0
  313. package/lib/helpers/setStrictType.js +9 -0
  314. package/lib/helpers/setStrictType.js.map +1 -0
  315. package/lib/helpers/setStrictType.mjs +9 -0
  316. package/lib/helpers/setStrictType.mjs.map +1 -0
  317. package/lib/index.d.mts +7 -4
  318. package/lib/index.d.ts +7 -4
  319. package/lib/index.js +32 -17
  320. package/lib/index.js.map +1 -1
  321. package/lib/index.mjs +37 -22
  322. package/lib/parse.d.mts +66 -0
  323. package/lib/parse.d.ts +66 -0
  324. package/lib/parse.js +10 -0
  325. package/lib/parse.js.map +1 -0
  326. package/lib/parse.mjs +10 -0
  327. package/lib/parse.mjs.map +1 -0
  328. package/lib/{parseSchema.d.mts → parseOrFail.d.mts} +16 -5
  329. package/lib/{parseSchema.d.ts → parseOrFail.d.ts} +16 -5
  330. package/lib/parseOrFail.js +10 -0
  331. package/lib/parseOrFail.js.map +1 -0
  332. package/lib/parseOrFail.mjs +10 -0
  333. package/lib/parseOrFail.mjs.map +1 -0
  334. package/lib/schemas/ArraySchema.d.mts +2 -1
  335. package/lib/schemas/ArraySchema.d.ts +2 -1
  336. package/lib/schemas/ArraySchema.js +5 -5
  337. package/lib/schemas/ArraySchema.mjs +4 -4
  338. package/lib/schemas/BooleanSchema.d.mts +2 -1
  339. package/lib/schemas/BooleanSchema.d.ts +2 -1
  340. package/lib/schemas/BooleanSchema.js +6 -5
  341. package/lib/schemas/BooleanSchema.js.map +1 -1
  342. package/lib/schemas/BooleanSchema.mjs +5 -4
  343. package/lib/schemas/CommonSchema.d.mts +2 -1
  344. package/lib/schemas/CommonSchema.d.ts +2 -1
  345. package/lib/schemas/CommonSchema.js +4 -4
  346. package/lib/schemas/CommonSchema.mjs +3 -3
  347. package/lib/schemas/NumberSchema.d.mts +13 -1
  348. package/lib/schemas/NumberSchema.d.ts +13 -1
  349. package/lib/schemas/NumberSchema.js +10 -6
  350. package/lib/schemas/NumberSchema.js.map +1 -1
  351. package/lib/schemas/NumberSchema.mjs +9 -5
  352. package/lib/schemas/ObjectSchema.d.mts +20 -1
  353. package/lib/schemas/ObjectSchema.d.ts +20 -1
  354. package/lib/schemas/ObjectSchema.js +5 -5
  355. package/lib/schemas/ObjectSchema.mjs +4 -4
  356. package/lib/schemas/StringSchema.d.mts +13 -1
  357. package/lib/schemas/StringSchema.d.ts +13 -1
  358. package/lib/schemas/StringSchema.js +10 -6
  359. package/lib/schemas/StringSchema.js.map +1 -1
  360. package/lib/schemas/StringSchema.mjs +9 -5
  361. package/lib/translationMap.d.mts +12 -0
  362. package/lib/translationMap.d.ts +12 -0
  363. package/lib/translationMap.js +14 -0
  364. package/lib/translationMap.js.map +1 -0
  365. package/lib/translationMap.mjs +14 -0
  366. package/lib/translationMap.mjs.map +1 -0
  367. package/package.json +23 -6
  368. package/lib/asserts/common/equalTo.d.mts +0 -29
  369. package/lib/asserts/common/equalTo.d.ts +0 -29
  370. package/lib/asserts/common/equalTo.js +0 -8
  371. package/lib/asserts/common/equalTo.js.map +0 -1
  372. package/lib/asserts/common/equalTo.mjs +0 -8
  373. package/lib/asserts/common/index.js +0 -10
  374. package/lib/asserts/common/index.js.map +0 -1
  375. package/lib/asserts/common/index.mjs +0 -10
  376. package/lib/chunk-2AP4OQMT.js +0 -26
  377. package/lib/chunk-2AP4OQMT.js.map +0 -1
  378. package/lib/chunk-5NCJN6D2.js +0 -70
  379. package/lib/chunk-5NCJN6D2.js.map +0 -1
  380. package/lib/chunk-5ZMICHV3.js +0 -21
  381. package/lib/chunk-5ZMICHV3.js.map +0 -1
  382. package/lib/chunk-63IQFNFO.mjs +0 -27
  383. package/lib/chunk-63IQFNFO.mjs.map +0 -1
  384. package/lib/chunk-A3UTB4RE.mjs.map +0 -1
  385. package/lib/chunk-AJ4WV5DG.mjs.map +0 -1
  386. package/lib/chunk-APTTIN2L.js.map +0 -1
  387. package/lib/chunk-AXOP6HPJ.js +0 -14
  388. package/lib/chunk-AXOP6HPJ.js.map +0 -1
  389. package/lib/chunk-FCFO5J5Y.mjs +0 -14
  390. package/lib/chunk-FCFO5J5Y.mjs.map +0 -1
  391. package/lib/chunk-GEZME6V2.mjs.map +0 -1
  392. package/lib/chunk-GNBSKTFV.js +0 -27
  393. package/lib/chunk-GNBSKTFV.js.map +0 -1
  394. package/lib/chunk-IQ3QYABE.js +0 -32
  395. package/lib/chunk-IQ3QYABE.js.map +0 -1
  396. package/lib/chunk-L7HUXYFV.mjs.map +0 -1
  397. package/lib/chunk-LHTJHMKJ.mjs +0 -27
  398. package/lib/chunk-LHTJHMKJ.mjs.map +0 -1
  399. package/lib/chunk-NOADI6PO.mjs +0 -21
  400. package/lib/chunk-NOADI6PO.mjs.map +0 -1
  401. package/lib/chunk-NWY33MFU.js +0 -13
  402. package/lib/chunk-NWY33MFU.js.map +0 -1
  403. package/lib/chunk-P3Y6IWFA.mjs +0 -70
  404. package/lib/chunk-P3Y6IWFA.mjs.map +0 -1
  405. package/lib/chunk-PDVXBE27.js +0 -27
  406. package/lib/chunk-PDVXBE27.js.map +0 -1
  407. package/lib/chunk-QJOXKH7A.mjs +0 -26
  408. package/lib/chunk-QJOXKH7A.mjs.map +0 -1
  409. package/lib/chunk-QYLH5ZAC.mjs.map +0 -1
  410. package/lib/chunk-VPFIIM2X.js.map +0 -1
  411. package/lib/chunk-YXHH5BF6.js +0 -28
  412. package/lib/chunk-YXHH5BF6.js.map +0 -1
  413. package/lib/core.d.mts +0 -1
  414. package/lib/core.d.ts +0 -1
  415. package/lib/core.js +0 -10
  416. package/lib/core.js.map +0 -1
  417. package/lib/core.mjs +0 -10
  418. package/lib/parseSchema.js +0 -9
  419. package/lib/parseSchema.js.map +0 -1
  420. package/lib/parseSchema.mjs +0 -9
  421. /package/lib/asserts/{common → mix}/equalTo.mjs.map +0 -0
  422. /package/lib/asserts/{common → mix}/index.mjs.map +0 -0
  423. /package/lib/{core.mjs.map → asserts/mix/oneOfValues.mjs.map} +0 -0
  424. /package/lib/{parseSchema.mjs.map → commonTypes.mjs.map} +0 -0
@@ -1,9 +1,28 @@
1
- import { C as CommonSchema, V as ValidatorContext, O as ObjectShapeSchemaType } from '../CommonSchema-BIe85W_A.mjs';
1
+ import { C as CommonSchema, V as ValidatorContext, O as ObjectShapeSchemaType } from '../CommonSchema-CjsYE4dC.mjs';
2
+ import '../commonTypes.mjs';
2
3
 
3
4
  declare class ObjectSchema extends CommonSchema {
4
5
  _object: number;
5
6
  constructor(ctx: ValidatorContext, shapeSchema: ObjectShapeSchemaType);
6
7
  private validateObjectEntry;
8
+ /**
9
+ * Allows unrecognized properties in the validated object.
10
+ * When this method is called, the validation will not fail
11
+ * if the received object contains properties not specified
12
+ * in the validation schema.
13
+ *
14
+ * @returns {this} The current ObjectSchema instance.
15
+ *
16
+ * @example
17
+ * const userSchema = object({
18
+ * name: string(),
19
+ * age: number(),
20
+ * }).allowUnrecognized();
21
+ *
22
+ * parseOrFail(userSchema, ({ name: 'John', age: 30, extra: 'value' }););
23
+ * // No error thrown
24
+ */
25
+ allowUnrecognized(): this;
7
26
  }
8
27
  type WithObject<Y extends ObjectShapeSchemaType> = ObjectSchema & {
9
28
  validation_object: Y;
@@ -1,9 +1,28 @@
1
- import { C as CommonSchema, V as ValidatorContext, O as ObjectShapeSchemaType } from '../CommonSchema-BIe85W_A.js';
1
+ import { C as CommonSchema, V as ValidatorContext, O as ObjectShapeSchemaType } from '../CommonSchema-BbGNki0L.js';
2
+ import '../commonTypes.js';
2
3
 
3
4
  declare class ObjectSchema extends CommonSchema {
4
5
  _object: number;
5
6
  constructor(ctx: ValidatorContext, shapeSchema: ObjectShapeSchemaType);
6
7
  private validateObjectEntry;
8
+ /**
9
+ * Allows unrecognized properties in the validated object.
10
+ * When this method is called, the validation will not fail
11
+ * if the received object contains properties not specified
12
+ * in the validation schema.
13
+ *
14
+ * @returns {this} The current ObjectSchema instance.
15
+ *
16
+ * @example
17
+ * const userSchema = object({
18
+ * name: string(),
19
+ * age: number(),
20
+ * }).allowUnrecognized();
21
+ *
22
+ * parseOrFail(userSchema, ({ name: 'John', age: 30, extra: 'value' }););
23
+ * // No error thrown
24
+ */
25
+ allowUnrecognized(): this;
7
26
  }
8
27
  type WithObject<Y extends ObjectShapeSchemaType> = ObjectSchema & {
9
28
  validation_object: Y;
@@ -1,10 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkIQ3QYABEjs = require('../chunk-IQ3QYABE.js');
4
- require('../chunk-APTTIN2L.js');
5
- require('../chunk-5NCJN6D2.js');
6
- require('../chunk-2AP4OQMT.js');
3
+ var _chunk6TH3DBDKjs = require('../chunk-6TH3DBDK.js');
4
+ require('../chunk-EGEHSELT.js');
5
+ require('../chunk-IRG4OQAB.js');
6
+ require('../chunk-WK4O3HH4.js');
7
7
 
8
8
 
9
- exports.ObjectSchema = _chunkIQ3QYABEjs.ObjectSchema;
9
+ exports.ObjectSchema = _chunk6TH3DBDKjs.ObjectSchema;
10
10
  //# sourceMappingURL=ObjectSchema.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  ObjectSchema
3
- } from "../chunk-QYLH5ZAC.mjs";
4
- import "../chunk-L7HUXYFV.mjs";
5
- import "../chunk-P3Y6IWFA.mjs";
6
- import "../chunk-QJOXKH7A.mjs";
3
+ } from "../chunk-TCQY2R3U.mjs";
4
+ import "../chunk-DPBE7TAQ.mjs";
5
+ import "../chunk-PH2PMUZP.mjs";
6
+ import "../chunk-7XFLH6R2.mjs";
7
7
  export {
8
8
  ObjectSchema
9
9
  };
@@ -1,7 +1,9 @@
1
- import { C as CommonSchema } from '../CommonSchema-BIe85W_A.mjs';
1
+ import { C as CommonSchema } from '../CommonSchema-CjsYE4dC.mjs';
2
+ import '../commonTypes.mjs';
2
3
 
3
4
  declare class StringSchema extends CommonSchema {
4
5
  _string: number;
6
+ private limit;
5
7
  /**
6
8
  * Restricts the schema to exactly match the specified value and infers the literal value as the TypeScript type.
7
9
  *
@@ -11,6 +13,16 @@ declare class StringSchema extends CommonSchema {
11
13
  * @example - string().equalTo('hello'); // Infers the type 'hello'
12
14
  */
13
15
  equalTo<Y extends string>(expectedValue: Y): WithString<this, Y>;
16
+ /**
17
+ * Restricts the schema to match one of the specified values and infers the union of those values as the TypeScript type.
18
+ *
19
+ * @param expectedValues - An array of values that the schema can match.
20
+ * @returns - The schema instance restricted to one of the specified values, with the union of those values inferred as the TypeScript type.
21
+ *
22
+ * @example
23
+ * string().oneOfValues(['foo', 'bar']); // Infers the type 'foo' | 'bar'
24
+ */
25
+ oneOfValues<Y extends string>(expectedValue: Y[]): WithString<this, Y>;
14
26
  }
15
27
  type WithString<T extends StringSchema, Y = string> = T & {
16
28
  validation_string: Y;
@@ -1,7 +1,9 @@
1
- import { C as CommonSchema } from '../CommonSchema-BIe85W_A.js';
1
+ import { C as CommonSchema } from '../CommonSchema-BbGNki0L.js';
2
+ import '../commonTypes.js';
2
3
 
3
4
  declare class StringSchema extends CommonSchema {
4
5
  _string: number;
6
+ private limit;
5
7
  /**
6
8
  * Restricts the schema to exactly match the specified value and infers the literal value as the TypeScript type.
7
9
  *
@@ -11,6 +13,16 @@ declare class StringSchema extends CommonSchema {
11
13
  * @example - string().equalTo('hello'); // Infers the type 'hello'
12
14
  */
13
15
  equalTo<Y extends string>(expectedValue: Y): WithString<this, Y>;
16
+ /**
17
+ * Restricts the schema to match one of the specified values and infers the union of those values as the TypeScript type.
18
+ *
19
+ * @param expectedValues - An array of values that the schema can match.
20
+ * @returns - The schema instance restricted to one of the specified values, with the union of those values inferred as the TypeScript type.
21
+ *
22
+ * @example
23
+ * string().oneOfValues(['foo', 'bar']); // Infers the type 'foo' | 'bar'
24
+ */
25
+ oneOfValues<Y extends string>(expectedValue: Y[]): WithString<this, Y>;
14
26
  }
15
27
  type WithString<T extends StringSchema, Y = string> = T & {
16
28
  validation_string: Y;
@@ -1,11 +1,15 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkPDVXBE27js = require('../chunk-PDVXBE27.js');
4
- require('../chunk-AXOP6HPJ.js');
5
- require('../chunk-APTTIN2L.js');
6
- require('../chunk-5NCJN6D2.js');
7
- require('../chunk-2AP4OQMT.js');
3
+ var _chunkLEQCDD66js = require('../chunk-LEQCDD66.js');
4
+ require('../chunk-J4VKFJQK.js');
5
+ require('../chunk-4CYIMDP2.js');
6
+ require('../chunk-42J6CHIO.js');
7
+ require('../chunk-JSGZ7DKT.js');
8
+ require('../chunk-EGEHSELT.js');
9
+ require('../chunk-IRG4OQAB.js');
10
+ require('../chunk-5BVJ6YMH.js');
11
+ require('../chunk-WK4O3HH4.js');
8
12
 
9
13
 
10
- exports.StringSchema = _chunkPDVXBE27js.StringSchema;
14
+ exports.StringSchema = _chunkLEQCDD66js.StringSchema;
11
15
  //# sourceMappingURL=StringSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/bguard/bguard/lib/schemas/StringSchema.js"],"names":[],"mappings":"AAAA;AACE;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACF,qDAAC","file":"/home/runner/work/bguard/bguard/lib/schemas/StringSchema.js"}
1
+ {"version":3,"sources":["/home/runner/work/bguard/bguard/lib/schemas/StringSchema.js"],"names":[],"mappings":"AAAA;AACE;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACF,qDAAC","file":"/home/runner/work/bguard/bguard/lib/schemas/StringSchema.js"}
@@ -1,10 +1,14 @@
1
1
  import {
2
2
  StringSchema
3
- } from "../chunk-LHTJHMKJ.mjs";
4
- import "../chunk-FCFO5J5Y.mjs";
5
- import "../chunk-L7HUXYFV.mjs";
6
- import "../chunk-P3Y6IWFA.mjs";
7
- import "../chunk-QJOXKH7A.mjs";
3
+ } from "../chunk-JPRCULRQ.mjs";
4
+ import "../chunk-NNFYXHLU.mjs";
5
+ import "../chunk-3O4WCRC2.mjs";
6
+ import "../chunk-ASZW6XRM.mjs";
7
+ import "../chunk-RYVUYVEE.mjs";
8
+ import "../chunk-DPBE7TAQ.mjs";
9
+ import "../chunk-PH2PMUZP.mjs";
10
+ import "../chunk-3HTYHE2X.mjs";
11
+ import "../chunk-7XFLH6R2.mjs";
8
12
  export {
9
13
  StringSchema
10
14
  };
@@ -0,0 +1,12 @@
1
+ import { RequiredValidation, TranslationErrorMap } from './commonTypes.mjs';
2
+
3
+ declare function setToDefaultLocale({ key, message, }: {
4
+ (expected: any): RequiredValidation;
5
+ key: string;
6
+ message: string;
7
+ }): void;
8
+ declare function setLocale(lng: string, custom: Partial<TranslationErrorMap>): void;
9
+ declare function clearLocales(): void;
10
+ declare function getTranslationByLocale(lng?: string): TranslationErrorMap;
11
+
12
+ export { clearLocales, getTranslationByLocale, setLocale, setToDefaultLocale };
@@ -0,0 +1,12 @@
1
+ import { RequiredValidation, TranslationErrorMap } from './commonTypes.js';
2
+
3
+ declare function setToDefaultLocale({ key, message, }: {
4
+ (expected: any): RequiredValidation;
5
+ key: string;
6
+ message: string;
7
+ }): void;
8
+ declare function setLocale(lng: string, custom: Partial<TranslationErrorMap>): void;
9
+ declare function clearLocales(): void;
10
+ declare function getTranslationByLocale(lng?: string): TranslationErrorMap;
11
+
12
+ export { clearLocales, getTranslationByLocale, setLocale, setToDefaultLocale };
@@ -0,0 +1,14 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+
5
+
6
+ var _chunk5BVJ6YMHjs = require('./chunk-5BVJ6YMH.js');
7
+ require('./chunk-WK4O3HH4.js');
8
+
9
+
10
+
11
+
12
+
13
+ exports.clearLocales = _chunk5BVJ6YMHjs.clearLocales; exports.getTranslationByLocale = _chunk5BVJ6YMHjs.getTranslationByLocale; exports.setLocale = _chunk5BVJ6YMHjs.setLocale; exports.setToDefaultLocale = _chunk5BVJ6YMHjs.setToDefaultLocale;
14
+ //# sourceMappingURL=translationMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/bguard/bguard/lib/translationMap.js"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACF,sDAA4B;AAC5B,+BAA4B;AAC5B;AACE;AACA;AACA;AACA;AACF,iPAAC","file":"/home/runner/work/bguard/bguard/lib/translationMap.js"}
@@ -0,0 +1,14 @@
1
+ import {
2
+ clearLocales,
3
+ getTranslationByLocale,
4
+ setLocale,
5
+ setToDefaultLocale
6
+ } from "./chunk-3HTYHE2X.mjs";
7
+ import "./chunk-7XFLH6R2.mjs";
8
+ export {
9
+ clearLocales,
10
+ getTranslationByLocale,
11
+ setLocale,
12
+ setToDefaultLocale
13
+ };
14
+ //# sourceMappingURL=translationMap.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "bguard",
3
3
  "private": false,
4
4
  "license": "MIT",
5
- "version": "0.0.9",
5
+ "version": "0.1.1",
6
6
  "main": "lib/index.js",
7
7
  "module": "lib/index.mjs",
8
8
  "types": "lib/index.d.ts",
@@ -50,7 +50,9 @@
50
50
  "change:start": "changeset",
51
51
  "change:version": "changeset version",
52
52
  "change:publish": "changeset publish",
53
- "arethetypeswrong": "npx @arethetypeswrong/cli"
53
+ "arethetypeswrong": "npx @arethetypeswrong/cli",
54
+ "docs:join-assert": "node scripts/join-assert-docs.mjs",
55
+ "test:before": "ts-node jest/assets/generateStaticTypes"
54
56
  },
55
57
  "devDependencies": {
56
58
  "@changesets/cli": "^2.27.7",
@@ -117,10 +119,25 @@
117
119
  "require": "./lib/asserts/object/*.js",
118
120
  "types": "./lib/asserts/object/*.d.ts"
119
121
  },
120
- "./common/*": {
121
- "import": "./lib/asserts/common/*.mjs",
122
- "require": "./lib/asserts/common/*.js",
123
- "types": "./lib/asserts/common/*.d.ts"
122
+ "./mix/*": {
123
+ "import": "./lib/asserts/mix/*.mjs",
124
+ "require": "./lib/asserts/mix/*.js",
125
+ "types": "./lib/asserts/mix/*.d.ts"
126
+ },
127
+ "./function/*": {
128
+ "import": "./lib/asserts/function/*.mjs",
129
+ "require": "./lib/asserts/function/*.js",
130
+ "types": "./lib/asserts/function/*.d.ts"
131
+ },
132
+ "./symbol/*": {
133
+ "import": "./lib/asserts/symbol/*.mjs",
134
+ "require": "./lib/asserts/symbol/*.js",
135
+ "types": "./lib/asserts/symbol/*.d.ts"
136
+ },
137
+ "./bigint/*": {
138
+ "import": "./lib/asserts/bigint/*.mjs",
139
+ "require": "./lib/asserts/bigint/*.js",
140
+ "types": "./lib/asserts/bigint/*.d.ts"
124
141
  },
125
142
  "./*": {
126
143
  "import": "./*.mjs",
@@ -1,29 +0,0 @@
1
- import { R as RequiredValidation } from '../../CommonSchema-BIe85W_A.mjs';
2
-
3
- /**
4
- * Creates a custom assertion that checks if a value is equal to the expected value.
5
- *
6
- * This assertion can be used within a `.custom` method to enforce that a value strictly matches the expected value.
7
- * It will throw a `ValidationError` if the values are not equal.
8
- *
9
- * @param {unknown} expected - The value that the received value is expected to match.
10
- * @returns {RequiredValidation} A function that takes the received value and the path to the error,
11
- * and throws a `ValidationError` if the received value does not equal the expected value.
12
- *
13
- * @throws {ValidationError} If the received value does not match the expected value.
14
- *
15
- * @example
16
- * import { number, equalTo } from 'bguard';
17
- *
18
- * // Define a schema with a custom assertion
19
- * const schema = number().custom(equalTo(5));
20
- *
21
- * // This will pass
22
- * parseSchema(schema, 5);
23
- *
24
- * // This will throw a ValidationError
25
- * parseSchema(schema, 3);
26
- */
27
- declare const equalTo: (expected: unknown) => RequiredValidation;
28
-
29
- export { equalTo };
@@ -1,29 +0,0 @@
1
- import { R as RequiredValidation } from '../../CommonSchema-BIe85W_A.js';
2
-
3
- /**
4
- * Creates a custom assertion that checks if a value is equal to the expected value.
5
- *
6
- * This assertion can be used within a `.custom` method to enforce that a value strictly matches the expected value.
7
- * It will throw a `ValidationError` if the values are not equal.
8
- *
9
- * @param {unknown} expected - The value that the received value is expected to match.
10
- * @returns {RequiredValidation} A function that takes the received value and the path to the error,
11
- * and throws a `ValidationError` if the received value does not equal the expected value.
12
- *
13
- * @throws {ValidationError} If the received value does not match the expected value.
14
- *
15
- * @example
16
- * import { number, equalTo } from 'bguard';
17
- *
18
- * // Define a schema with a custom assertion
19
- * const schema = number().custom(equalTo(5));
20
- *
21
- * // This will pass
22
- * parseSchema(schema, 5);
23
- *
24
- * // This will throw a ValidationError
25
- * parseSchema(schema, 3);
26
- */
27
- declare const equalTo: (expected: unknown) => RequiredValidation;
28
-
29
- export { equalTo };
@@ -1,8 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
-
3
- var _chunkAXOP6HPJjs = require('../../chunk-AXOP6HPJ.js');
4
- require('../../chunk-2AP4OQMT.js');
5
-
6
-
7
- exports.equalTo = _chunkAXOP6HPJjs.equalTo;
8
- //# sourceMappingURL=equalTo.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/home/runner/work/bguard/bguard/lib/asserts/common/equalTo.js"],"names":[],"mappings":"AAAA;AACE;AACF,0DAAgC;AAChC,mCAAgC;AAChC;AACE;AACF,2CAAC","file":"/home/runner/work/bguard/bguard/lib/asserts/common/equalTo.js"}
@@ -1,8 +0,0 @@
1
- import {
2
- equalTo
3
- } from "../../chunk-FCFO5J5Y.mjs";
4
- import "../../chunk-QJOXKH7A.mjs";
5
- export {
6
- equalTo
7
- };
8
- //# sourceMappingURL=equalTo.mjs.map
@@ -1,10 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
-
3
- var _chunkNWY33MFUjs = require('../../chunk-NWY33MFU.js');
4
- require('../../chunk-APTTIN2L.js');
5
- require('../../chunk-5NCJN6D2.js');
6
- require('../../chunk-2AP4OQMT.js');
7
-
8
-
9
- exports.oneOfTypes = _chunkNWY33MFUjs.oneOfTypes;
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/home/runner/work/bguard/bguard/lib/asserts/common/index.js"],"names":[],"mappings":"AAAA;AACE;AACF,0DAAgC;AAChC,mCAAgC;AAChC,mCAAgC;AAChC,mCAAgC;AAChC;AACE;AACF,iDAAC","file":"/home/runner/work/bguard/bguard/lib/asserts/common/index.js"}
@@ -1,10 +0,0 @@
1
- import {
2
- oneOfTypes
3
- } from "../../chunk-AJ4WV5DG.mjs";
4
- import "../../chunk-L7HUXYFV.mjs";
5
- import "../../chunk-P3Y6IWFA.mjs";
6
- import "../../chunk-QJOXKH7A.mjs";
7
- export {
8
- oneOfTypes
9
- };
10
- //# sourceMappingURL=index.mjs.map
@@ -1,26 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/exceptions.ts
2
- var ValidationError = class extends Error {
3
-
4
-
5
-
6
-
7
- constructor(expected, received, pathToError, message) {
8
- super();
9
- this.expected = expected;
10
- this.received = received;
11
- this.pathToError = pathToError;
12
- this.message = message;
13
- }
14
- };
15
- var BuildSchemaError = class extends Error {
16
- };
17
- function throwException(expected, received, pathToError, message) {
18
- throw new ValidationError(expected, received, pathToError, message);
19
- }
20
-
21
-
22
-
23
-
24
-
25
- exports.ValidationError = ValidationError; exports.BuildSchemaError = BuildSchemaError; exports.throwException = throwException;
26
- //# sourceMappingURL=chunk-2AP4OQMT.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/home/runner/work/bguard/bguard/lib/chunk-2AP4OQMT.js","../src/exceptions.ts"],"names":[],"mappings":"AAAA;ACAO,IAAM,gBAAA,EAAN,MAAA,QAA8B,MAAM;AAAA,EACzC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAA,CAAY,QAAA,EAAmB,QAAA,EAAmB,WAAA,EAAqB,OAAA,EAAiB;AACtF,IAAA,KAAA,CAAM,CAAA;AACN,IAAA,IAAA,CAAK,SAAA,EAAW,QAAA;AAChB,IAAA,IAAA,CAAK,SAAA,EAAW,QAAA;AAChB,IAAA,IAAA,CAAK,YAAA,EAAc,WAAA;AACnB,IAAA,IAAA,CAAK,QAAA,EAAU,OAAA;AAAA,EACjB;AACF,CAAA;AAEO,IAAM,iBAAA,EAAN,MAAA,QAA+B,MAAM;AAAC,CAAA;AAEtC,SAAS,cAAA,CAAe,QAAA,EAAmB,QAAA,EAAmB,WAAA,EAAqB,OAAA,EAAwB;AAChH,EAAA,MAAM,IAAI,eAAA,CAAgB,QAAA,EAAU,QAAA,EAAU,WAAA,EAAa,OAAO,CAAA;AACpE;ADCA;AACA;AACE;AACA;AACA;AACF,gIAAC","file":"/home/runner/work/bguard/bguard/lib/chunk-2AP4OQMT.js","sourcesContent":[null,"export class ValidationError extends Error {\n expected: unknown;\n received: unknown;\n pathToError: string;\n message: string;\n constructor(expected: unknown, received: unknown, pathToError: string, message: string) {\n super();\n this.expected = expected;\n this.received = received;\n this.pathToError = pathToError;\n this.message = message;\n }\n}\n\nexport class BuildSchemaError extends Error {}\n\nexport function throwException(expected: unknown, received: unknown, pathToError: string, message: string): never {\n throw new ValidationError(expected, received, pathToError, message);\n}\n"]}
@@ -1,70 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
-
3
- var _chunk2AP4OQMTjs = require('./chunk-2AP4OQMT.js');
4
-
5
- // src/core.ts
6
- var ctxSymbol = Symbol("contextSymbol");
7
- function innerCheck(schema, receivedValue, pathToError) {
8
- const ctx = schema[ctxSymbol];
9
- if (receivedValue === void 0) {
10
- if (!ctx.isOptional) _chunk2AP4OQMTjs.throwException.call(void 0, "Required", receivedValue, pathToError, "The required value is missing");
11
- return receivedValue;
12
- }
13
- if (receivedValue === null) {
14
- if (!ctx.isNullable) _chunk2AP4OQMTjs.throwException.call(void 0, "Not null", receivedValue, pathToError, "Value should not be null");
15
- return receivedValue;
16
- }
17
- if (ctx.array) {
18
- if (!Array.isArray(receivedValue))
19
- _chunk2AP4OQMTjs.throwException.call(void 0, "Array", receivedValue, pathToError, "Expected an array but received a different type");
20
- const schema2 = ctx.array;
21
- receivedValue.forEach((elem, i) => {
22
- innerCheck(schema2, elem, `${pathToError}[${i}]`);
23
- });
24
- return receivedValue;
25
- }
26
- const typeOfVal = typeof receivedValue;
27
- if (ctx.object) {
28
- if (typeOfVal !== "object")
29
- _chunk2AP4OQMTjs.throwException.call(void 0, "Object", receivedValue, pathToError, "Expected an object but received a different type");
30
- if (Array.isArray(receivedValue))
31
- _chunk2AP4OQMTjs.throwException.call(void 0,
32
- "Object",
33
- receivedValue,
34
- pathToError,
35
- "Expected an object but received an array. Invalid type of data"
36
- );
37
- const shapeSchema = ctx.object;
38
- for (const keyPerReceivedValue of Object.keys(receivedValue)) {
39
- if (shapeSchema[keyPerReceivedValue] === void 0)
40
- _chunk2AP4OQMTjs.throwException.call(void 0, "Not allowed", keyPerReceivedValue, pathToError, "This key is not allowed in the object");
41
- }
42
- for (const [keyOfSchema, valueOfSchema] of Object.entries(shapeSchema)) {
43
- const receivedObjectValuePropery = receivedValue[keyOfSchema];
44
- if (receivedObjectValuePropery === void 0) {
45
- if (!valueOfSchema[ctxSymbol].isOptional)
46
- _chunk2AP4OQMTjs.throwException.call(void 0,
47
- "Required",
48
- receivedObjectValuePropery,
49
- pathToError,
50
- "Missing required property in the object"
51
- );
52
- }
53
- innerCheck(valueOfSchema, receivedObjectValuePropery, `${pathToError}.${keyOfSchema}`);
54
- }
55
- return receivedValue;
56
- }
57
- if (ctx.type.length) {
58
- if (!ctx.type.includes(typeOfVal)) _chunk2AP4OQMTjs.throwException.call(void 0, ctx.type, typeOfVal, pathToError, "Invalid type of data");
59
- }
60
- ctx.requiredValidations.forEach((requiredValidation) => {
61
- requiredValidation(receivedValue, pathToError);
62
- });
63
- return receivedValue;
64
- }
65
-
66
-
67
-
68
-
69
- exports.ctxSymbol = ctxSymbol; exports.innerCheck = innerCheck;
70
- //# sourceMappingURL=chunk-5NCJN6D2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/home/runner/work/bguard/bguard/lib/chunk-5NCJN6D2.js","../src/core.ts"],"names":["schema"],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACA;ACJO,IAAM,UAAA,EAAY,MAAA,CAAO,eAAe,CAAA;AAKxC,SAAS,UAAA,CAAW,MAAA,EAAsB,aAAA,EAAwB,WAAA,EAAqB;AAC5F,EAAA,MAAM,IAAA,EAAM,MAAA,CAAO,SAAS,CAAA;AAC5B,EAAA,GAAA,CAAI,cAAA,IAAkB,KAAA,CAAA,EAAW;AAC/B,IAAA,GAAA,CAAI,CAAC,GAAA,CAAI,UAAA,EAAY,6CAAA,UAAe,EAAY,aAAA,EAAe,WAAA,EAAa,+BAA+B,CAAA;AAC3G,IAAA,OAAO,aAAA;AAAA,EACT;AAEA,EAAA,GAAA,CAAI,cAAA,IAAkB,IAAA,EAAM;AAC1B,IAAA,GAAA,CAAI,CAAC,GAAA,CAAI,UAAA,EAAY,6CAAA,UAAe,EAAY,aAAA,EAAe,WAAA,EAAa,0BAA0B,CAAA;AACtG,IAAA,OAAO,aAAA;AAAA,EACT;AAEA,EAAA,GAAA,CAAI,GAAA,CAAI,KAAA,EAAO;AACb,IAAA,GAAA,CAAI,CAAC,KAAA,CAAM,OAAA,CAAQ,aAAa,CAAA;AAC9B,MAAA,6CAAA,OAAe,EAAS,aAAA,EAAe,WAAA,EAAa,iDAAiD,CAAA;AACvG,IAAA,MAAMA,QAAAA,EAAS,GAAA,CAAI,KAAA;AAEnB,IAAA,aAAA,CAAc,OAAA,CAAQ,CAAC,IAAA,EAAM,CAAA,EAAA,GAAM;AACjC,MAAA,UAAA,CAAWA,OAAAA,EAAQ,IAAA,EAAM,CAAA,EAAA;AAC1B,IAAA;AAEM,IAAA;AACT,EAAA;AAEyB,EAAA;AAET,EAAA;AACI,IAAA;AACS,MAAA;AACT,IAAA;AAChB,MAAA;AACE,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACF,MAAA;AACsB,IAAA;AACb,IAAA;AACO,MAAA;AACC,QAAA;AACnB,IAAA;AAEyB,IAAA;AACjB,MAAA;AACF,MAAA;AACiB,QAAA;AACjB,UAAA;AACE,YAAA;AACA,YAAA;AACA,YAAA;AACA,YAAA;AACF,UAAA;AACJ,MAAA;AAC0B,MAAA;AAC5B,IAAA;AAEO,IAAA;AACT,EAAA;AAEqB,EAAA;AACI,IAAA;AACzB,EAAA;AAEwB,EAAA;AACH,IAAA;AACpB,EAAA;AAEM,EAAA;AACT;ADTiC;AACA;AACA;AACA;AACA","file":"/home/runner/work/bguard/bguard/lib/chunk-5NCJN6D2.js","sourcesContent":[null,"export const ctxSymbol = Symbol('contextSymbol');\n\nimport { throwException } from './exceptions';\nimport type { CommonSchema } from './schemas/CommonSchema';\n\nexport function innerCheck(schema: CommonSchema, receivedValue: unknown, pathToError: string) {\n const ctx = schema[ctxSymbol];\n if (receivedValue === undefined) {\n if (!ctx.isOptional) throwException('Required', receivedValue, pathToError, 'The required value is missing');\n return receivedValue;\n }\n\n if (receivedValue === null) {\n if (!ctx.isNullable) throwException('Not null', receivedValue, pathToError, 'Value should not be null');\n return receivedValue;\n }\n\n if (ctx.array) {\n if (!Array.isArray(receivedValue))\n throwException('Array', receivedValue, pathToError, 'Expected an array but received a different type');\n const schema = ctx.array;\n\n receivedValue.forEach((elem, i) => {\n innerCheck(schema, elem, `${pathToError}[${i}]`);\n });\n\n return receivedValue;\n }\n\n const typeOfVal = typeof receivedValue;\n\n if (ctx.object) {\n if (typeOfVal !== 'object')\n throwException('Object', receivedValue, pathToError, 'Expected an object but received a different type');\n if (Array.isArray(receivedValue))\n throwException(\n 'Object',\n receivedValue,\n pathToError,\n 'Expected an object but received an array. Invalid type of data',\n );\n const shapeSchema = ctx.object;\n for (const keyPerReceivedValue of Object.keys(receivedValue)) {\n if (shapeSchema[keyPerReceivedValue] === undefined)\n throwException('Not allowed', keyPerReceivedValue, pathToError, 'This key is not allowed in the object');\n }\n\n for (const [keyOfSchema, valueOfSchema] of Object.entries(shapeSchema)) {\n const receivedObjectValuePropery = (receivedValue as Record<string, unknown>)[keyOfSchema];\n if (receivedObjectValuePropery === undefined) {\n if (!valueOfSchema[ctxSymbol].isOptional)\n throwException(\n 'Required',\n receivedObjectValuePropery,\n pathToError,\n 'Missing required property in the object',\n );\n }\n innerCheck(valueOfSchema, receivedObjectValuePropery, `${pathToError}.${keyOfSchema}`);\n }\n\n return receivedValue;\n }\n\n if (ctx.type.length) {\n if (!ctx.type.includes(typeOfVal)) throwException(ctx.type, typeOfVal, pathToError, 'Invalid type of data');\n }\n\n ctx.requiredValidations.forEach((requiredValidation) => {\n requiredValidation(receivedValue, pathToError);\n });\n\n return receivedValue;\n}\n"]}
@@ -1,21 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
-
3
- var _chunk5NCJN6D2js = require('./chunk-5NCJN6D2.js');
4
-
5
-
6
- var _chunk2AP4OQMTjs = require('./chunk-2AP4OQMT.js');
7
-
8
- // src/parseSchema.ts
9
- function parseSchema(schema, receivedValue) {
10
- try {
11
- return _chunk5NCJN6D2js.innerCheck.call(void 0, schema, receivedValue, "");
12
- } catch (e) {
13
- if (e instanceof _chunk2AP4OQMTjs.ValidationError) throw e;
14
- throw new Error("Something unexpected happened");
15
- }
16
- }
17
-
18
-
19
-
20
- exports.parseSchema = parseSchema;
21
- //# sourceMappingURL=chunk-5ZMICHV3.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/home/runner/work/bguard/bguard/lib/chunk-5ZMICHV3.js","../src/parseSchema.ts"],"names":[],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACA;ACwBO,SAAS,WAAA,CAAoC,MAAA,EAAW,aAAA,EAAsC;AACnG,EAAA,IAAI;AACF,IAAA,OAAO,yCAAA,MAAW,EAAQ,aAAA,EAAe,EAAE,CAAA;AAAA,EAC7C,EAAA,MAAA,CAAS,CAAA,EAAG;AACV,IAAA,GAAA,CAAI,EAAA,WAAa,gCAAA,EAAiB,MAAM,CAAA;AAExC,IAAA,MAAM,IAAI,KAAA,CAAM,+BAA+B,CAAA;AAAA,EACjD;AACF;ADvBA;AACA;AACE;AACF,kCAAC","file":"/home/runner/work/bguard/bguard/lib/chunk-5ZMICHV3.js","sourcesContent":[null,"import { InferType } from './InferType';\nimport { innerCheck } from './core';\nimport { ValidationError } from './exceptions';\nimport { CommonSchema } from './schemas/CommonSchema';\n\n/**\n * Parses and validates a value against the provided schema, returning a type-safe result.\n *\n * This function will throw a `ValidationError` if the value does not conform to the schema.\n * The inferred TypeScript type of the returned value will match the structure defined by the schema.\n *\n * @template T\n * @param {T} schema - The schema to validate the received value against. This schema dictates the expected structure and type of the value.\n * @param {unknown} receivedValue - The value to be validated and parsed according to the schema.\n * @returns {InferType<T>} The validated value, with its TypeScript type inferred from the schema.\n *\n * @throws {ValidationError} If the received value does not match the schema, a `ValidationError` will be thrown.\n * @throws {Error} If an unexpected error occurs during validation, an error will be thrown with a generic message.\n *\n * @example\n * const schema = object({\n * name: string(),\n * age: number(),\n * });\n *\n * const result = parseSchema(schema, { name: 'Alice', age: 30 });\n * // result will be inferred as { name: string; age: number }\n *\n * parseSchema(schema, { name: 'Alice', age: '30' });\n * // Throws ValidationError because 'age' should be a number, not a string.\n */\nexport function parseSchema<T extends CommonSchema>(schema: T, receivedValue: unknown): InferType<T> {\n try {\n return innerCheck(schema, receivedValue, '') as InferType<T>;\n } catch (e) {\n if (e instanceof ValidationError) throw e;\n /* istanbul ignore next */\n throw new Error('Something unexpected happened');\n }\n}\n"]}
@@ -1,27 +0,0 @@
1
- import {
2
- equalTo
3
- } from "./chunk-FCFO5J5Y.mjs";
4
- import {
5
- CommonSchema
6
- } from "./chunk-L7HUXYFV.mjs";
7
-
8
- // src/schemas/NumberSchema.ts
9
- var NumberSchema = class extends CommonSchema {
10
- _number = 1;
11
- /**
12
- * Restricts the schema to exactly match the specified value and infers the literal value as the TypeScript type.
13
- *
14
- * @param expectedValue - The value that the schema must exactly match.
15
- * @returns - The schema instance restricted to the specified value, with the literal value inferred as the TypeScript type
16
- *
17
- * @example - number().equalTo(42); // Infers the type 42
18
- */
19
- equalTo(expectedValue) {
20
- return this.custom(equalTo(expectedValue));
21
- }
22
- };
23
-
24
- export {
25
- NumberSchema
26
- };
27
- //# sourceMappingURL=chunk-63IQFNFO.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/schemas/NumberSchema.ts"],"sourcesContent":["import { equalTo } from '../asserts/common/equalTo';\n\nimport { CommonSchema } from './CommonSchema';\n\nexport class NumberSchema extends CommonSchema {\n _number = 1;\n\n /**\n * Restricts the schema to exactly match the specified value and infers the literal value as the TypeScript type.\n *\n * @param expectedValue - The value that the schema must exactly match.\n * @returns - The schema instance restricted to the specified value, with the literal value inferred as the TypeScript type\n *\n * @example - number().equalTo(42); // Infers the type 42\n */\n equalTo<Y extends number>(expectedValue: Y): WithNumber<this, Y> {\n return this.custom(equalTo(expectedValue)) as WithNumber<this, Y>;\n }\n}\n\nexport type WithNumber<T extends NumberSchema, Y = number> = T & { validation_number: Y };\nexport type ExtractFromNumber<T> = T extends WithNumber<NumberSchema, infer Y> ? Y : never;\n"],"mappings":";;;;;;;;AAIO,IAAM,eAAN,cAA2B,aAAa;AAAA,EAC7C,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUV,QAA0B,eAAuC;AAC/D,WAAO,KAAK,OAAO,QAAQ,aAAa,CAAC;AAAA,EAC3C;AACF;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/schemas/ArraySchema.ts"],"sourcesContent":["import { ctxSymbol } from '../core';\nimport { BuildSchemaError } from '../exceptions';\nimport { CommonSchema, ValidatorContext } from './CommonSchema';\n\nexport class ArraySchema extends CommonSchema {\n _array = 1;\n constructor(ctx: ValidatorContext, arraySchema: CommonSchema) {\n super(ctx);\n this.validateArrayEntry(arraySchema);\n this[ctxSymbol].array = arraySchema;\n }\n\n private validateArrayEntry(arraySchema: CommonSchema) {\n if (!arraySchema) throw new BuildSchemaError('Missing schema in array method');\n if (!(arraySchema instanceof CommonSchema)) throw new BuildSchemaError('Invalid schema in array method');\n }\n}\n\nexport type WithArray<Y extends CommonSchema> = ArraySchema & { validation_array: Y };\nexport type ExtractFromArray<T> = T extends WithArray<infer X> ? X : never;\n"],"mappings":";;;;;;;;;;;AAIO,IAAM,cAAN,cAA0B,aAAa;AAAA,EAC5C,SAAS;AAAA,EACT,YAAY,KAAuB,aAA2B;AAC5D,UAAM,GAAG;AACT,SAAK,mBAAmB,WAAW;AACnC,SAAK,SAAS,EAAE,QAAQ;AAAA,EAC1B;AAAA,EAEQ,mBAAmB,aAA2B;AACpD,QAAI,CAAC,YAAa,OAAM,IAAI,iBAAiB,gCAAgC;AAC7E,QAAI,EAAE,uBAAuB,cAAe,OAAM,IAAI,iBAAiB,gCAAgC;AAAA,EACzG;AACF;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/asserts/common/index.ts"],"sourcesContent":["import { CommonSchema, MapMixTypes, PrimitiveType, WithMix } from '../../schemas/CommonSchema';\n\n/**\n * Creates a new schema for validating values that can match any one of the specified primitive types.\n *\n * @template T\n * @param {T} valueTypes - An array of primitive types that the value can match.\n * @returns {WithMix<MapMixTypes<T>>} A new schema for validating values that can match any of the specified types.\n *\n * @example\n * const schema = oneOfTypes(['string', 'number']);\n * parseSchema(schema, 'hello'); // Validates successfully\n * parseSchema(schema, 42); // Validates successfully\n * parseSchema(schema, true); // Throws a validation error\n */\nexport function oneOfTypes<T extends PrimitiveType[]>(valueTypes: T): WithMix<MapMixTypes<T>> {\n return new CommonSchema({ type: valueTypes, requiredValidations: [] }) as WithMix<MapMixTypes<T>>;\n}\n"],"mappings":";;;;;AAeO,SAAS,WAAsC,YAAwC;AAC5F,SAAO,IAAI,aAAa,EAAE,MAAM,YAAY,qBAAqB,CAAC,EAAE,CAAC;AACvE;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/home/runner/work/bguard/bguard/lib/chunk-APTTIN2L.js","../src/schemas/CommonSchema.ts"],"names":[],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACA;ACYO,IAAM,aAAA,EAAN,MAAmB;AAAA,EACxB;AAAU,EACV,WAAA,CAAY,GAAA,EAAuB;AACjC,IAAA,IAAA,CAAK,0BAAS,EAAA,EAAI,GAAA;AAAA,EACpB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAA,CAAA,GAAU,UAAA,EAAwC;AAChD,IAAA,IAAA,CAAK,0BAAS,CAAA,CAAE,mBAAA,CAAoB,IAAA,CAAK,GAAG,UAAU,CAAA;AACtD,IAAA,OAAO,IAAA;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,QAAA,CAAA,EAA2B;AACzB,IAAA,IAAA,CAAK,0BAAS,CAAA,CAAE,WAAA,EAAa,IAAA;AAC7B,IAAA,OAAO,IAAA;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,QAAA,CAAA,EAAgC;AAC9B,IAAA,IAAA,CAAK,0BAAS,CAAA,CAAE,WAAA,EAAa,IAAA;AAC7B,IAAA,OAAO,IAAA;AAAA,EACT;AACF,CAAA;ADbA;AACA;AACE;AACF,oCAAC","file":"/home/runner/work/bguard/bguard/lib/chunk-APTTIN2L.js","sourcesContent":[null,"import { ctxSymbol } from '../core';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type RequiredValidation = (received: any, pathToError: string) => void;\nexport type ObjectShapeSchemaType = Record<string, CommonSchema>;\n\nexport type PrimitiveType = 'number' | 'string' | 'boolean' | 'undefined' | 'object' | 'function' | 'symbol' | 'bigint';\nexport interface ValidatorContext {\n type: PrimitiveType[];\n isNullable?: boolean;\n isOptional?: boolean;\n requiredValidations: RequiredValidation[];\n array?: CommonSchema;\n object?: ObjectShapeSchemaType;\n}\n\nexport class CommonSchema {\n [ctxSymbol]: ValidatorContext;\n constructor(ctx: ValidatorContext) {\n this[ctxSymbol] = ctx;\n }\n\n /**\n * @param validators - One or more custom validation functions.\n * @returns {this} The schema instance with the added custom validation.\n */\n custom(...validators: RequiredValidation[]): this {\n this[ctxSymbol].requiredValidations.push(...validators);\n return this;\n }\n\n /**\n * Marks the schema as nullable, allowing the value to be `null`.\n *\n * @returns {WithNull<this>} The schema instance marked as nullable.\n */\n nullable(): WithNull<this> {\n this[ctxSymbol].isNullable = true;\n return this as WithNull<this>;\n }\n\n /**\n * Marks the schema as optional, allowing the value to be `undefined`.\n *\n * @returns {WithUndefined<this>}} The schema instance marked as optional.\n */\n optional(): WithUndefined<this> {\n this[ctxSymbol].isOptional = true;\n return this as WithUndefined<this>;\n }\n}\n\nexport type WithNull<T extends CommonSchema> = T & { validation_null: true };\nexport type WithUndefined<T extends CommonSchema> = T & { validation_undefined: true };\n\ntype TypeMapping = {\n number: number;\n string: string;\n boolean: boolean;\n undefined: undefined;\n object: object;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n function: Function;\n symbol: symbol;\n bigint: bigint;\n};\n\nexport type WithMix<Y = unknown> = CommonSchema & { validation_mix: Y };\nexport type ExtractFromMix<T> = T extends WithMix<infer X> ? X : never;\n\nexport type MapMixTypes<T extends PrimitiveType[]> = T extends (infer U)[]\n ? U extends keyof TypeMapping\n ? TypeMapping[U]\n : never\n : never;\n"]}