@astral/validations 4.20.2 → 4.20.4

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 (452) hide show
  1. package/README.md +2 -0
  2. package/node/any/any.d.ts +23 -0
  3. package/node/any/any.js +29 -0
  4. package/node/any/index.d.ts +1 -0
  5. package/node/any/index.js +17 -0
  6. package/node/array/array.d.ts +15 -0
  7. package/node/array/array.js +25 -0
  8. package/node/array/constants.d.ts +2 -0
  9. package/node/array/constants.js +8 -0
  10. package/node/array/index.d.ts +2 -0
  11. package/node/array/index.js +18 -0
  12. package/node/arrayItem/arrayItem.d.ts +27 -0
  13. package/node/arrayItem/arrayItem.js +37 -0
  14. package/node/arrayItem/index.d.ts +1 -0
  15. package/node/arrayItem/index.js +17 -0
  16. package/node/boolean/boolean.d.ts +13 -0
  17. package/node/boolean/boolean.js +23 -0
  18. package/node/boolean/constants.d.ts +2 -0
  19. package/node/boolean/constants.js +8 -0
  20. package/node/boolean/index.d.ts +2 -0
  21. package/node/boolean/index.js +18 -0
  22. package/node/containsDifferentCases/constants.d.ts +2 -0
  23. package/node/containsDifferentCases/constants.js +5 -0
  24. package/node/containsDifferentCases/containsDifferentCases.d.ts +16 -0
  25. package/node/containsDifferentCases/containsDifferentCases.js +26 -0
  26. package/node/containsDifferentCases/index.d.ts +2 -0
  27. package/node/containsDifferentCases/index.js +18 -0
  28. package/node/containsNumbers/constants.d.ts +2 -0
  29. package/node/containsNumbers/constants.js +5 -0
  30. package/node/containsNumbers/containsNumbers.d.ts +16 -0
  31. package/node/containsNumbers/containsNumbers.js +24 -0
  32. package/node/containsNumbers/index.d.ts +2 -0
  33. package/node/containsNumbers/index.js +18 -0
  34. package/node/containsPunctuationMarks/constants.d.ts +2 -0
  35. package/node/containsPunctuationMarks/constants.js +5 -0
  36. package/node/containsPunctuationMarks/containsPunctuationMarks.d.ts +16 -0
  37. package/node/containsPunctuationMarks/containsPunctuationMarks.js +24 -0
  38. package/node/containsPunctuationMarks/index.d.ts +2 -0
  39. package/node/containsPunctuationMarks/index.js +18 -0
  40. package/node/core/compose/compose.d.ts +6 -0
  41. package/node/core/compose/compose.js +11 -0
  42. package/node/core/compose/index.d.ts +1 -0
  43. package/node/core/compose/index.js +17 -0
  44. package/node/core/composeAsync/composeAsync.d.ts +6 -0
  45. package/node/core/composeAsync/composeAsync.js +28 -0
  46. package/node/core/composeAsync/index.d.ts +1 -0
  47. package/node/core/composeAsync/index.js +17 -0
  48. package/node/core/context/createContext/createContext.d.ts +19 -0
  49. package/node/core/context/createContext/createContext.js +25 -0
  50. package/node/core/context/createContext/index.d.ts +1 -0
  51. package/node/core/context/createContext/index.js +17 -0
  52. package/node/core/context/index.d.ts +2 -0
  53. package/node/core/context/index.js +18 -0
  54. package/node/core/context/types.d.ts +37 -0
  55. package/node/core/context/types.js +2 -0
  56. package/node/core/errors/ArrayError/ArrayError.d.ts +18 -0
  57. package/node/core/errors/ArrayError/ArrayError.js +14 -0
  58. package/node/core/errors/ArrayError/createArrayError/createArrayError.d.ts +5 -0
  59. package/node/core/errors/ArrayError/createArrayError/createArrayError.js +15 -0
  60. package/node/core/errors/ArrayError/createArrayError/index.d.ts +1 -0
  61. package/node/core/errors/ArrayError/createArrayError/index.js +17 -0
  62. package/node/core/errors/ArrayError/index.d.ts +2 -0
  63. package/node/core/errors/ArrayError/index.js +18 -0
  64. package/node/core/errors/ErrorMap/ErrorMap.d.ts +21 -0
  65. package/node/core/errors/ErrorMap/ErrorMap.js +14 -0
  66. package/node/core/errors/ErrorMap/createErrorMap/createErrorMap.d.ts +5 -0
  67. package/node/core/errors/ErrorMap/createErrorMap/createErrorMap.js +14 -0
  68. package/node/core/errors/ErrorMap/createErrorMap/index.d.ts +1 -0
  69. package/node/core/errors/ErrorMap/createErrorMap/index.js +17 -0
  70. package/node/core/errors/ErrorMap/index.d.ts +2 -0
  71. package/node/core/errors/ErrorMap/index.js +18 -0
  72. package/node/core/errors/SimpleError/SimpleError.d.ts +16 -0
  73. package/node/core/errors/SimpleError/SimpleError.js +13 -0
  74. package/node/core/errors/SimpleError/createSimpleError/createSimpleError.d.ts +6 -0
  75. package/node/core/errors/SimpleError/createSimpleError/createSimpleError.js +9 -0
  76. package/node/core/errors/SimpleError/createSimpleError/index.d.ts +1 -0
  77. package/node/core/errors/SimpleError/createSimpleError/index.js +17 -0
  78. package/node/core/errors/SimpleError/index.d.ts +2 -0
  79. package/node/core/errors/SimpleError/index.js +18 -0
  80. package/node/core/errors/constants.d.ts +2 -0
  81. package/node/core/errors/constants.js +8 -0
  82. package/node/core/errors/createErrorCode/createErrorCode.d.ts +5 -0
  83. package/node/core/errors/createErrorCode/createErrorCode.js +8 -0
  84. package/node/core/errors/createErrorCode/index.d.ts +1 -0
  85. package/node/core/errors/createErrorCode/index.js +17 -0
  86. package/node/core/errors/index.d.ts +6 -0
  87. package/node/core/errors/index.js +22 -0
  88. package/node/core/errors/types.d.ts +18 -0
  89. package/node/core/errors/types.js +2 -0
  90. package/node/core/guard/createGuard/createGuard.d.ts +71 -0
  91. package/node/core/guard/createGuard/createGuard.js +28 -0
  92. package/node/core/guard/createGuard/index.d.ts +1 -0
  93. package/node/core/guard/createGuard/index.js +17 -0
  94. package/node/core/guard/index.d.ts +1 -0
  95. package/node/core/guard/index.js +17 -0
  96. package/node/core/index.d.ts +9 -0
  97. package/node/core/index.js +25 -0
  98. package/node/core/logger/index.d.ts +1 -0
  99. package/node/core/logger/index.js +17 -0
  100. package/node/core/logger/logger.d.ts +6 -0
  101. package/node/core/logger/logger.js +12 -0
  102. package/node/core/rule/callAsyncRule/callAsyncRule.d.ts +8 -0
  103. package/node/core/rule/callAsyncRule/callAsyncRule.js +29 -0
  104. package/node/core/rule/callAsyncRule/index.d.ts +1 -0
  105. package/node/core/rule/callAsyncRule/index.js +17 -0
  106. package/node/core/rule/callRule/callRule.d.ts +7 -0
  107. package/node/core/rule/callRule/callRule.js +13 -0
  108. package/node/core/rule/callRule/index.d.ts +1 -0
  109. package/node/core/rule/callRule/index.js +17 -0
  110. package/node/core/rule/createRule/createRule.d.ts +34 -0
  111. package/node/core/rule/createRule/createRule.js +31 -0
  112. package/node/core/rule/createRule/index.d.ts +1 -0
  113. package/node/core/rule/createRule/index.js +17 -0
  114. package/node/core/rule/index.d.ts +5 -0
  115. package/node/core/rule/index.js +21 -0
  116. package/node/core/rule/required/constants.d.ts +2 -0
  117. package/node/core/rule/required/constants.js +8 -0
  118. package/node/core/rule/required/index.d.ts +2 -0
  119. package/node/core/rule/required/index.js +18 -0
  120. package/node/core/rule/required/required.d.ts +11 -0
  121. package/node/core/rule/required/required.js +29 -0
  122. package/node/core/rule/types.d.ts +23 -0
  123. package/node/core/rule/types.js +2 -0
  124. package/node/core/types.d.ts +9 -0
  125. package/node/core/types.js +2 -0
  126. package/node/core/utils/index.d.ts +8 -0
  127. package/node/core/utils/index.js +24 -0
  128. package/node/core/utils/isDateEarlier/index.d.ts +1 -0
  129. package/node/core/utils/isDateEarlier/index.js +17 -0
  130. package/node/core/utils/isDateEarlier/isDateEarlier.d.ts +1 -0
  131. package/node/core/utils/isDateEarlier/isDateEarlier.js +8 -0
  132. package/node/core/utils/isFullNameValidCharacters/index.d.ts +1 -0
  133. package/node/core/utils/isFullNameValidCharacters/index.js +17 -0
  134. package/node/core/utils/isFullNameValidCharacters/isFullNameValidCharacters.d.ts +5 -0
  135. package/node/core/utils/isFullNameValidCharacters/isFullNameValidCharacters.js +9 -0
  136. package/node/core/utils/isHasConsecutiveChars/index.d.ts +1 -0
  137. package/node/core/utils/isHasConsecutiveChars/index.js +17 -0
  138. package/node/core/utils/isHasConsecutiveChars/isHasConsecutiveChars.d.ts +4 -0
  139. package/node/core/utils/isHasConsecutiveChars/isHasConsecutiveChars.js +8 -0
  140. package/node/core/utils/isNoDoubleZeroStart/index.d.ts +1 -0
  141. package/node/core/utils/isNoDoubleZeroStart/index.js +17 -0
  142. package/node/core/utils/isNoDoubleZeroStart/isNoDoubleZeroStart.d.ts +4 -0
  143. package/node/core/utils/isNoDoubleZeroStart/isNoDoubleZeroStart.js +8 -0
  144. package/node/core/utils/isStartsWithAndEndsWithLetter/index.d.ts +1 -0
  145. package/node/core/utils/isStartsWithAndEndsWithLetter/index.js +17 -0
  146. package/node/core/utils/isStartsWithAndEndsWithLetter/isStartsWithAndEndsWithLetter.d.ts +4 -0
  147. package/node/core/utils/isStartsWithAndEndsWithLetter/isStartsWithAndEndsWithLetter.js +8 -0
  148. package/node/core/utils/isStringOfZeros/index.d.ts +1 -0
  149. package/node/core/utils/isStringOfZeros/index.js +17 -0
  150. package/node/core/utils/isStringOfZeros/isStringOfZeros.d.ts +4 -0
  151. package/node/core/utils/isStringOfZeros/isStringOfZeros.js +13 -0
  152. package/node/core/utils/isValidFullNameLength/index.d.ts +1 -0
  153. package/node/core/utils/isValidFullNameLength/index.js +17 -0
  154. package/node/core/utils/isValidFullNameLength/isValidFullNameLength.d.ts +4 -0
  155. package/node/core/utils/isValidFullNameLength/isValidFullNameLength.js +8 -0
  156. package/node/core/utils/resetTime/index.d.ts +1 -0
  157. package/node/core/utils/resetTime/index.js +17 -0
  158. package/node/core/utils/resetTime/resetTime.d.ts +5 -0
  159. package/node/core/utils/resetTime/resetTime.js +16 -0
  160. package/node/date/constants.d.ts +3 -0
  161. package/node/date/constants.js +12 -0
  162. package/node/date/date.d.ts +19 -0
  163. package/node/date/date.js +28 -0
  164. package/node/date/index.d.ts +2 -0
  165. package/node/date/index.js +18 -0
  166. package/node/deepPartial/deepPartial.d.ts +21 -0
  167. package/node/deepPartial/deepPartial.js +25 -0
  168. package/node/deepPartial/index.d.ts +1 -0
  169. package/node/deepPartial/index.js +17 -0
  170. package/node/email/constants.d.ts +10 -0
  171. package/node/email/constants.js +22 -0
  172. package/node/email/email.d.ts +30 -0
  173. package/node/email/email.js +59 -0
  174. package/node/email/index.d.ts +2 -0
  175. package/node/email/index.js +18 -0
  176. package/node/enabled/enabled.d.ts +34 -0
  177. package/node/enabled/enabled.js +35 -0
  178. package/node/enabled/index.d.ts +1 -0
  179. package/node/enabled/index.js +17 -0
  180. package/node/guid/constants.d.ts +3 -0
  181. package/node/guid/constants.js +9 -0
  182. package/node/guid/guid.d.ts +16 -0
  183. package/node/guid/guid.js +20 -0
  184. package/node/guid/index.d.ts +2 -0
  185. package/node/guid/index.js +18 -0
  186. package/node/index.d.ts +53 -0
  187. package/node/index.js +185 -0
  188. package/node/innFL/constants.d.ts +2 -0
  189. package/node/innFL/constants.js +8 -0
  190. package/node/innFL/index.d.ts +2 -0
  191. package/node/innFL/index.js +18 -0
  192. package/node/innFL/innFL.d.ts +17 -0
  193. package/node/innFL/innFL.js +25 -0
  194. package/node/innIP/constants.d.ts +2 -0
  195. package/node/innIP/constants.js +8 -0
  196. package/node/innIP/index.d.ts +2 -0
  197. package/node/innIP/index.js +18 -0
  198. package/node/innIP/innIP.d.ts +17 -0
  199. package/node/innIP/innIP.js +31 -0
  200. package/node/innTwelveSymbols/constants.d.ts +5 -0
  201. package/node/innTwelveSymbols/constants.js +13 -0
  202. package/node/innTwelveSymbols/index.d.ts +2 -0
  203. package/node/innTwelveSymbols/index.js +18 -0
  204. package/node/innTwelveSymbols/innTwelveSymbols.d.ts +17 -0
  205. package/node/innTwelveSymbols/innTwelveSymbols.js +41 -0
  206. package/node/innUL/constants.d.ts +4 -0
  207. package/node/innUL/constants.js +10 -0
  208. package/node/innUL/index.d.ts +2 -0
  209. package/node/innUL/index.js +18 -0
  210. package/node/innUL/innUL.d.ts +17 -0
  211. package/node/innUL/innUL.js +43 -0
  212. package/node/integer/constants.d.ts +2 -0
  213. package/node/integer/constants.js +8 -0
  214. package/node/integer/index.d.ts +2 -0
  215. package/node/integer/index.js +18 -0
  216. package/node/integer/integer.d.ts +25 -0
  217. package/node/integer/integer.js +32 -0
  218. package/node/kpp/constants.d.ts +5 -0
  219. package/node/kpp/constants.js +17 -0
  220. package/node/kpp/index.d.ts +2 -0
  221. package/node/kpp/index.js +18 -0
  222. package/node/kpp/kpp.d.ts +17 -0
  223. package/node/kpp/kpp.js +30 -0
  224. package/node/length/constants.d.ts +2 -0
  225. package/node/length/constants.js +5 -0
  226. package/node/length/index.d.ts +2 -0
  227. package/node/length/index.js +18 -0
  228. package/node/length/length.d.ts +22 -0
  229. package/node/length/length.js +30 -0
  230. package/node/max/constants.d.ts +5 -0
  231. package/node/max/constants.js +8 -0
  232. package/node/max/index.d.ts +2 -0
  233. package/node/max/index.js +18 -0
  234. package/node/max/max.d.ts +26 -0
  235. package/node/max/max.js +46 -0
  236. package/node/min/constants.d.ts +5 -0
  237. package/node/min/constants.js +8 -0
  238. package/node/min/index.d.ts +2 -0
  239. package/node/min/index.js +18 -0
  240. package/node/min/min.d.ts +26 -0
  241. package/node/min/min.js +46 -0
  242. package/node/minYearsOld/constants.d.ts +4 -0
  243. package/node/minYearsOld/constants.js +7 -0
  244. package/node/minYearsOld/index.d.ts +2 -0
  245. package/node/minYearsOld/index.js +18 -0
  246. package/node/minYearsOld/minYearsOld.d.ts +24 -0
  247. package/node/minYearsOld/minYearsOld.js +48 -0
  248. package/node/mobilePhone/constants.d.ts +3 -0
  249. package/node/mobilePhone/constants.js +9 -0
  250. package/node/mobilePhone/index.d.ts +2 -0
  251. package/node/mobilePhone/index.js +18 -0
  252. package/node/mobilePhone/mobilePhone.d.ts +19 -0
  253. package/node/mobilePhone/mobilePhone.js +25 -0
  254. package/node/number/constants.d.ts +4 -0
  255. package/node/number/constants.js +16 -0
  256. package/node/number/index.d.ts +2 -0
  257. package/node/number/index.js +18 -0
  258. package/node/number/number.d.ts +19 -0
  259. package/node/number/number.js +30 -0
  260. package/node/object/constants.d.ts +2 -0
  261. package/node/object/constants.js +8 -0
  262. package/node/object/index.d.ts +3 -0
  263. package/node/object/index.js +19 -0
  264. package/node/object/isEmptyErrors/index.d.ts +1 -0
  265. package/node/object/isEmptyErrors/index.js +17 -0
  266. package/node/object/isEmptyErrors/isEmptyErrors.d.ts +5 -0
  267. package/node/object/isEmptyErrors/isEmptyErrors.js +8 -0
  268. package/node/object/object.d.ts +49 -0
  269. package/node/object/object.js +57 -0
  270. package/node/object/objectAsync/index.d.ts +1 -0
  271. package/node/object/objectAsync/index.js +17 -0
  272. package/node/object/objectAsync/objectAsync.d.ts +61 -0
  273. package/node/object/objectAsync/objectAsync.js +79 -0
  274. package/node/ogrnIP/constants.d.ts +3 -0
  275. package/node/ogrnIP/constants.js +9 -0
  276. package/node/ogrnIP/index.d.ts +2 -0
  277. package/node/ogrnIP/index.js +18 -0
  278. package/node/ogrnIP/ogrnIP.d.ts +17 -0
  279. package/node/ogrnIP/ogrnIP.js +31 -0
  280. package/node/ogrnUL/constants.d.ts +3 -0
  281. package/node/ogrnUL/constants.js +9 -0
  282. package/node/ogrnUL/index.d.ts +2 -0
  283. package/node/ogrnUL/index.js +18 -0
  284. package/node/ogrnUL/ogrnUL.d.ts +17 -0
  285. package/node/ogrnUL/ogrnUL.js +31 -0
  286. package/node/onlyNumber/constants.d.ts +2 -0
  287. package/node/onlyNumber/constants.js +5 -0
  288. package/node/onlyNumber/index.d.ts +2 -0
  289. package/node/onlyNumber/index.js +18 -0
  290. package/node/onlyNumber/onlyNumber.d.ts +16 -0
  291. package/node/onlyNumber/onlyNumber.js +24 -0
  292. package/node/optional/index.d.ts +2 -0
  293. package/node/optional/index.js +18 -0
  294. package/node/optional/optional.d.ts +6 -0
  295. package/node/optional/optional.js +10 -0
  296. package/node/optional/optionalAsync/index.d.ts +1 -0
  297. package/node/optional/optionalAsync/index.js +17 -0
  298. package/node/optional/optionalAsync/optionalAsync.d.ts +6 -0
  299. package/node/optional/optionalAsync/optionalAsync.js +22 -0
  300. package/node/or/index.d.ts +1 -0
  301. package/node/or/index.js +17 -0
  302. package/node/or/or.d.ts +14 -0
  303. package/node/or/or.js +25 -0
  304. package/node/partial/index.d.ts +1 -0
  305. package/node/partial/index.js +17 -0
  306. package/node/partial/partial.d.ts +9 -0
  307. package/node/partial/partial.js +10 -0
  308. package/node/passportCode/constants.d.ts +4 -0
  309. package/node/passportCode/constants.js +16 -0
  310. package/node/passportCode/index.d.ts +2 -0
  311. package/node/passportCode/index.js +18 -0
  312. package/node/passportCode/passportCode.d.ts +17 -0
  313. package/node/passportCode/passportCode.js +42 -0
  314. package/node/passportNumber/constants.d.ts +4 -0
  315. package/node/passportNumber/constants.js +16 -0
  316. package/node/passportNumber/index.d.ts +2 -0
  317. package/node/passportNumber/index.js +18 -0
  318. package/node/passportNumber/passportNumber.d.ts +17 -0
  319. package/node/passportNumber/passportNumber.js +36 -0
  320. package/node/passportSeries/constants.d.ts +4 -0
  321. package/node/passportSeries/constants.js +16 -0
  322. package/node/passportSeries/index.d.ts +2 -0
  323. package/node/passportSeries/index.js +18 -0
  324. package/node/passportSeries/passportSeries.d.ts +17 -0
  325. package/node/passportSeries/passportSeries.js +36 -0
  326. package/node/pattern/constants.d.ts +2 -0
  327. package/node/pattern/constants.js +5 -0
  328. package/node/pattern/index.d.ts +2 -0
  329. package/node/pattern/index.js +18 -0
  330. package/node/pattern/pattern.d.ts +18 -0
  331. package/node/pattern/pattern.js +26 -0
  332. package/node/personName/constants.d.ts +2 -0
  333. package/node/personName/constants.js +8 -0
  334. package/node/personName/index.d.ts +2 -0
  335. package/node/personName/index.js +18 -0
  336. package/node/personName/personName.d.ts +17 -0
  337. package/node/personName/personName.js +33 -0
  338. package/node/personPatronymic/constants.d.ts +2 -0
  339. package/node/personPatronymic/constants.js +8 -0
  340. package/node/personPatronymic/index.d.ts +2 -0
  341. package/node/personPatronymic/index.js +18 -0
  342. package/node/personPatronymic/personPatronymic.d.ts +17 -0
  343. package/node/personPatronymic/personPatronymic.js +33 -0
  344. package/node/personSurname/constants.d.ts +2 -0
  345. package/node/personSurname/constants.js +8 -0
  346. package/node/personSurname/index.d.ts +2 -0
  347. package/node/personSurname/index.js +18 -0
  348. package/node/personSurname/personSurname.d.ts +17 -0
  349. package/node/personSurname/personSurname.js +33 -0
  350. package/node/positiveNumber/constants.d.ts +2 -0
  351. package/node/positiveNumber/constants.js +8 -0
  352. package/node/positiveNumber/index.d.ts +2 -0
  353. package/node/positiveNumber/index.js +18 -0
  354. package/node/positiveNumber/positiveNumber.d.ts +25 -0
  355. package/node/positiveNumber/positiveNumber.js +35 -0
  356. package/node/rangeDate/constants.d.ts +7 -0
  357. package/node/rangeDate/constants.js +28 -0
  358. package/node/rangeDate/index.d.ts +2 -0
  359. package/node/rangeDate/index.js +18 -0
  360. package/node/rangeDate/rangeDate.d.ts +50 -0
  361. package/node/rangeDate/rangeDate.js +69 -0
  362. package/node/rangeDateInterval/constants.d.ts +7 -0
  363. package/node/rangeDateInterval/constants.js +17 -0
  364. package/node/rangeDateInterval/index.d.ts +2 -0
  365. package/node/rangeDateInterval/index.js +18 -0
  366. package/node/rangeDateInterval/rangeDateInterval.d.ts +23 -0
  367. package/node/rangeDateInterval/rangeDateInterval.js +40 -0
  368. package/node/rangeDateInterval/types.d.ts +6 -0
  369. package/node/rangeDateInterval/types.js +2 -0
  370. package/node/rangeDateMinMax/constants.d.ts +8 -0
  371. package/node/rangeDateMinMax/constants.js +16 -0
  372. package/node/rangeDateMinMax/index.d.ts +2 -0
  373. package/node/rangeDateMinMax/index.js +18 -0
  374. package/node/rangeDateMinMax/rangeDateMinMax.d.ts +34 -0
  375. package/node/rangeDateMinMax/rangeDateMinMax.js +78 -0
  376. package/node/rangeDateMinMax/types.d.ts +2 -0
  377. package/node/rangeDateMinMax/types.js +2 -0
  378. package/node/rangeDateNotEqual/constants.d.ts +2 -0
  379. package/node/rangeDateNotEqual/constants.js +8 -0
  380. package/node/rangeDateNotEqual/index.d.ts +2 -0
  381. package/node/rangeDateNotEqual/index.js +18 -0
  382. package/node/rangeDateNotEqual/rangeDateNotEqual.d.ts +20 -0
  383. package/node/rangeDateNotEqual/rangeDateNotEqual.js +33 -0
  384. package/node/snils/constants.d.ts +4 -0
  385. package/node/snils/constants.js +10 -0
  386. package/node/snils/index.d.ts +2 -0
  387. package/node/snils/index.js +18 -0
  388. package/node/snils/snils.d.ts +17 -0
  389. package/node/snils/snils.js +68 -0
  390. package/node/string/constants.d.ts +2 -0
  391. package/node/string/constants.js +8 -0
  392. package/node/string/index.d.ts +3 -0
  393. package/node/string/index.js +19 -0
  394. package/node/string/string.d.ts +2 -0
  395. package/node/string/string.js +13 -0
  396. package/node/string/stringAsync/index.d.ts +1 -0
  397. package/node/string/stringAsync/index.js +17 -0
  398. package/node/string/stringAsync/stringAsync.d.ts +6 -0
  399. package/node/string/stringAsync/stringAsync.js +27 -0
  400. package/node/string/utils/index.d.ts +1 -0
  401. package/node/string/utils/index.js +17 -0
  402. package/node/string/utils/isString/index.d.ts +1 -0
  403. package/node/string/utils/isString/index.js +17 -0
  404. package/node/string/utils/isString/isString.d.ts +1 -0
  405. package/node/string/utils/isString/isString.js +5 -0
  406. package/node/textField/constants.d.ts +5 -0
  407. package/node/textField/constants.js +14 -0
  408. package/node/textField/index.d.ts +2 -0
  409. package/node/textField/index.js +18 -0
  410. package/node/textField/textField.d.ts +24 -0
  411. package/node/textField/textField.js +23 -0
  412. package/node/toPlainError/index.d.ts +1 -0
  413. package/node/toPlainError/index.js +17 -0
  414. package/node/toPlainError/toPlainError.d.ts +35 -0
  415. package/node/toPlainError/toPlainError.js +53 -0
  416. package/node/toPlainError/utils/generateArrayPath/generateArrayPath.d.ts +4 -0
  417. package/node/toPlainError/utils/generateArrayPath/generateArrayPath.js +13 -0
  418. package/node/toPlainError/utils/generateArrayPath/index.d.ts +1 -0
  419. package/node/toPlainError/utils/generateArrayPath/index.js +17 -0
  420. package/node/toPlainError/utils/generateObjectPath/generateObjectPath.d.ts +4 -0
  421. package/node/toPlainError/utils/generateObjectPath/generateObjectPath.js +13 -0
  422. package/node/toPlainError/utils/generateObjectPath/index.d.ts +1 -0
  423. package/node/toPlainError/utils/generateObjectPath/index.js +17 -0
  424. package/node/toPlainError/utils/index.d.ts +2 -0
  425. package/node/toPlainError/utils/index.js +18 -0
  426. package/node/toPrettyError/index.d.ts +1 -0
  427. package/node/toPrettyError/index.js +17 -0
  428. package/node/toPrettyError/toPrettyError.d.ts +39 -0
  429. package/node/toPrettyError/toPrettyError.js +42 -0
  430. package/node/transform/index.d.ts +1 -0
  431. package/node/transform/index.js +17 -0
  432. package/node/transform/transform.d.ts +18 -0
  433. package/node/transform/transform.js +20 -0
  434. package/node/uploadedFile/constants.d.ts +5 -0
  435. package/node/uploadedFile/constants.js +20 -0
  436. package/node/uploadedFile/index.d.ts +2 -0
  437. package/node/uploadedFile/index.js +18 -0
  438. package/node/uploadedFile/types.d.ts +46 -0
  439. package/node/uploadedFile/types.js +2 -0
  440. package/node/uploadedFile/uploadedFile.d.ts +30 -0
  441. package/node/uploadedFile/uploadedFile.js +64 -0
  442. package/node/uploadedFileList/constants.d.ts +2 -0
  443. package/node/uploadedFileList/constants.js +8 -0
  444. package/node/uploadedFileList/index.d.ts +2 -0
  445. package/node/uploadedFileList/index.js +18 -0
  446. package/node/uploadedFileList/uploadedFileList.d.ts +24 -0
  447. package/node/uploadedFileList/uploadedFileList.js +47 -0
  448. package/node/when/index.d.ts +1 -0
  449. package/node/when/index.js +17 -0
  450. package/node/when/when.d.ts +39 -0
  451. package/node/when/when.js +33 -0
  452. package/package.json +7 -3
@@ -0,0 +1,39 @@
1
+ import { type ValidationResult } from '../core';
2
+ import { type PlainValidationResult } from '../toPlainError';
3
+ /**
4
+ * Преобразует ошибку валидации в формат для вывода (например, в консоль)
5
+ * @param validationResult
6
+ * @example
7
+ * ```ts
8
+ *
9
+ * type ListItem = { description: string };
10
+ *
11
+ * type Values = {
12
+ * info: { name: string };
13
+ * list: ListItem[];
14
+ * };
15
+ *
16
+ * const validate = object<Values>({
17
+ * info: object<Values['info']>({ name: string() }),
18
+ * list: array(
19
+ * arrayItem(
20
+ * object<ListItem>({
21
+ * description: string(),
22
+ * }),
23
+ * ),
24
+ * ),
25
+ * });
26
+ *
27
+ * const error = validate({
28
+ * info: { name: 22 },
29
+ * list: [{}],
30
+ * });
31
+ *
32
+ * // {
33
+ * // info: { name: 'Не является строкой' },
34
+ * // list: [{ description: 'Обязательно' }],
35
+ * // }
36
+ * toPrettyError(error);
37
+ * ```
38
+ */
39
+ export declare const toPrettyError: (validationResult: ValidationResult) => PlainValidationResult<string>;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toPrettyError = void 0;
4
+ const toPlainError_1 = require("../toPlainError");
5
+ /**
6
+ * Преобразует ошибку валидации в формат для вывода (например, в консоль)
7
+ * @param validationResult
8
+ * @example
9
+ * ```ts
10
+ *
11
+ * type ListItem = { description: string };
12
+ *
13
+ * type Values = {
14
+ * info: { name: string };
15
+ * list: ListItem[];
16
+ * };
17
+ *
18
+ * const validate = object<Values>({
19
+ * info: object<Values['info']>({ name: string() }),
20
+ * list: array(
21
+ * arrayItem(
22
+ * object<ListItem>({
23
+ * description: string(),
24
+ * }),
25
+ * ),
26
+ * ),
27
+ * });
28
+ *
29
+ * const error = validate({
30
+ * info: { name: 22 },
31
+ * list: [{}],
32
+ * });
33
+ *
34
+ * // {
35
+ * // info: { name: 'Не является строкой' },
36
+ * // list: [{ description: 'Обязательно' }],
37
+ * // }
38
+ * toPrettyError(error);
39
+ * ```
40
+ */
41
+ const toPrettyError = (validationResult) => (0, toPlainError_1.toPlainError)(validationResult, (err) => err.message);
42
+ exports.toPrettyError = toPrettyError;
@@ -0,0 +1 @@
1
+ export * from './transform';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./transform"), exports);
@@ -0,0 +1,18 @@
1
+ import { type ValidationRule } from '../core';
2
+ type Transformer<TValue, TResult> = (value: TValue) => TResult;
3
+ /**
4
+ * Трансформирует value в новый тип для валидации
5
+ * @param transformer - функция трансформации value в новый тип
6
+ * @param rules - правила, которые будут вызваны после трансформации value
7
+ * @example
8
+ * ```ts
9
+ * string(
10
+ * transform(
11
+ * (value) => new Date(value),
12
+ * date(min(new Date()))
13
+ * )
14
+ * );
15
+ * ```
16
+ */
17
+ export declare const transform: <TValue extends unknown, TResult extends unknown, TLastSchemaValues extends Record<string, unknown> = {}>(transformer: Transformer<TValue, TResult>, ...rules: ValidationRule<TResult, TLastSchemaValues>[]) => (value: TValue, prevCtx?: import("../core").ValidationContext<TLastSchemaValues> | undefined) => import("../core").ValidationResult;
18
+ export {};
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transform = void 0;
4
+ const core_1 = require("../core");
5
+ /**
6
+ * Трансформирует value в новый тип для валидации
7
+ * @param transformer - функция трансформации value в новый тип
8
+ * @param rules - правила, которые будут вызваны после трансформации value
9
+ * @example
10
+ * ```ts
11
+ * string(
12
+ * transform(
13
+ * (value) => new Date(value),
14
+ * date(min(new Date()))
15
+ * )
16
+ * );
17
+ * ```
18
+ */
19
+ const transform = (transformer, ...rules) => (0, core_1.createRule)((value, ctx) => (0, core_1.compose)(...rules)(transformer(value), ctx));
20
+ exports.transform = transform;
@@ -0,0 +1,5 @@
1
+ import { type ErrorInfo } from '../core';
2
+ export declare const FILE_RESTRICTION_ERROR_INFO: ErrorInfo;
3
+ export declare const FILE_LOADING_ERROR_INFO: ErrorInfo;
4
+ export declare const FILE_UPLOAD_ERROR_INFO: ErrorInfo;
5
+ export declare const FILE_REQUIRED_ERROR_INFO: ErrorInfo;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FILE_REQUIRED_ERROR_INFO = exports.FILE_UPLOAD_ERROR_INFO = exports.FILE_LOADING_ERROR_INFO = exports.FILE_RESTRICTION_ERROR_INFO = void 0;
4
+ const core_1 = require("../core");
5
+ exports.FILE_RESTRICTION_ERROR_INFO = {
6
+ code: (0, core_1.createErrorCode)('file-restriction'),
7
+ message: 'Файл не соответствует ограничениям',
8
+ };
9
+ exports.FILE_LOADING_ERROR_INFO = {
10
+ code: (0, core_1.createErrorCode)('file-loading'),
11
+ message: 'Файл загружается',
12
+ };
13
+ exports.FILE_UPLOAD_ERROR_INFO = {
14
+ code: (0, core_1.createErrorCode)('file-upload'),
15
+ message: 'Ошибка загрузки файла',
16
+ };
17
+ exports.FILE_REQUIRED_ERROR_INFO = {
18
+ code: (0, core_1.createErrorCode)('file-required'),
19
+ message: 'Загрузите файл',
20
+ };
@@ -0,0 +1,2 @@
1
+ export * from './uploadedFile';
2
+ export * from './constants';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./uploadedFile"), exports);
18
+ __exportStar(require("./constants"), exports);
@@ -0,0 +1,46 @@
1
+ type FileStatus = {
2
+ /**
3
+ * Флаг загрузки файла
4
+ */
5
+ isLoading?: boolean;
6
+ /**
7
+ * Флаг состояния ошибки при загрузке файла
8
+ */
9
+ isUploadError?: boolean;
10
+ /**
11
+ * Флаг состояния ошибки при проверке файла на условия
12
+ */
13
+ isRestrictionError?: boolean;
14
+ /**
15
+ * Текст ошибки
16
+ */
17
+ errorMsg?: string;
18
+ /**
19
+ * Значение прогресса загрузки файла.
20
+ */
21
+ progress?: number;
22
+ };
23
+ export type UploadFile = {
24
+ /**
25
+ * Идентификатор
26
+ */
27
+ id: string;
28
+ /**
29
+ * Название файла
30
+ */
31
+ name: string;
32
+ /**
33
+ * Размер файла в байтах
34
+ */
35
+ size?: number;
36
+ file?: File;
37
+ /**
38
+ * Ссылка на файле
39
+ */
40
+ url?: string;
41
+ /**
42
+ * Состояния файла
43
+ */
44
+ status?: FileStatus;
45
+ };
46
+ export {};
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,30 @@
1
+ import { type ValidationRule } from '../core';
2
+ import type { UploadFile } from './types';
3
+ /**
4
+ * Guard для файла. Проверяет объект на соответствие формату UploadFile и его статусы загрузки.
5
+ * Валидирует наличие обязательных полей (id, name) и проверяет статусы файла (isLoading, isUploadError, isRestrictionError).
6
+ * @param rules - дополнительные правила валидации для файла
7
+ * @example
8
+ * ```ts
9
+ * const validate = uploadedFile();
10
+ *
11
+ * // Валидный файл
12
+ * validate({
13
+ * id: 1,
14
+ * name: "document.pdf",
15
+ * status: {
16
+ * isLoading: false
17
+ * }
18
+ * });
19
+ *
20
+ * // Файл с ошибкой загрузки
21
+ * validate({
22
+ * id: 1,
23
+ * name: "document.pdf",
24
+ * status: {
25
+ * isUploadError: true
26
+ * }
27
+ * });
28
+ * ```
29
+ */
30
+ export declare const uploadedFile: <TLastSchemeValues extends Record<string, unknown>>(...rules: ValidationRule<UploadFile, TLastSchemeValues>[]) => import("../core").Guard<TLastSchemeValues, {}>;
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.uploadedFile = void 0;
4
+ const core_1 = require("../core");
5
+ const constants_1 = require("./constants");
6
+ /**
7
+ * Guard для файла. Проверяет объект на соответствие формату UploadFile и его статусы загрузки.
8
+ * Валидирует наличие обязательных полей (id, name) и проверяет статусы файла (isLoading, isUploadError, isRestrictionError).
9
+ * @param rules - дополнительные правила валидации для файла
10
+ * @example
11
+ * ```ts
12
+ * const validate = uploadedFile();
13
+ *
14
+ * // Валидный файл
15
+ * validate({
16
+ * id: 1,
17
+ * name: "document.pdf",
18
+ * status: {
19
+ * isLoading: false
20
+ * }
21
+ * });
22
+ *
23
+ * // Файл с ошибкой загрузки
24
+ * validate({
25
+ * id: 1,
26
+ * name: "document.pdf",
27
+ * status: {
28
+ * isUploadError: true
29
+ * }
30
+ * });
31
+ * ```
32
+ */
33
+ const uploadedFile = (...rules) => (0, core_1.createGuard)((value, ctx) => {
34
+ if (!value ||
35
+ typeof value !== 'object' ||
36
+ !('id' in value) ||
37
+ !('name' in value)) {
38
+ return ctx.createError({
39
+ code: constants_1.FILE_REQUIRED_ERROR_INFO.code,
40
+ message: constants_1.FILE_REQUIRED_ERROR_INFO.message,
41
+ });
42
+ }
43
+ const { status } = value;
44
+ if (status === null || status === void 0 ? void 0 : status.isRestrictionError) {
45
+ return ctx.createError({
46
+ code: constants_1.FILE_RESTRICTION_ERROR_INFO.code,
47
+ message: status.errorMsg || constants_1.FILE_RESTRICTION_ERROR_INFO.message,
48
+ });
49
+ }
50
+ if (status === null || status === void 0 ? void 0 : status.isLoading) {
51
+ return ctx.createError({
52
+ code: constants_1.FILE_LOADING_ERROR_INFO.code,
53
+ message: status.errorMsg || constants_1.FILE_LOADING_ERROR_INFO.message,
54
+ });
55
+ }
56
+ if (status === null || status === void 0 ? void 0 : status.isUploadError) {
57
+ return ctx.createError({
58
+ code: constants_1.FILE_UPLOAD_ERROR_INFO.code,
59
+ message: status.errorMsg || constants_1.FILE_UPLOAD_ERROR_INFO.message,
60
+ });
61
+ }
62
+ return (0, core_1.compose)(...rules)(value, ctx);
63
+ });
64
+ exports.uploadedFile = uploadedFile;
@@ -0,0 +1,2 @@
1
+ import { type ErrorInfo } from '../core';
2
+ export declare const FILE_LIST_NOT_ARRAY_ERROR_INFO: ErrorInfo;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FILE_LIST_NOT_ARRAY_ERROR_INFO = void 0;
4
+ const core_1 = require("../core");
5
+ exports.FILE_LIST_NOT_ARRAY_ERROR_INFO = {
6
+ code: (0, core_1.createErrorCode)('file-list-array'),
7
+ message: 'Не является массивом',
8
+ };
@@ -0,0 +1,2 @@
1
+ export * from './uploadedFileList';
2
+ export * from './constants';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./uploadedFileList"), exports);
18
+ __exportStar(require("./constants"), exports);
@@ -0,0 +1,24 @@
1
+ import { type ValidationRule } from '../core';
2
+ import { type UploadFile } from '../uploadedFile/types';
3
+ /**
4
+ * Guard для списка файлов. Проверяет массив на валидность и каждый файл в массиве на соответствие формату UploadFile.
5
+ * Проверяет статусы файлов (isLoading, isUploadError, isRestrictionError).
6
+ * @param rules - дополнительные правила валидации для массива файлов
7
+ * @example
8
+ * ```ts
9
+ * const validate = uploadedFileList();
10
+ *
11
+ * // Валидный массив файлов
12
+ * validate([
13
+ * { id: 1, name: "document1.pdf" },
14
+ * { id: 2, name: "document2.pdf", status: { isLoading: false } }
15
+ * ]);
16
+ *
17
+ * // Массив с ошибкой загрузки
18
+ * validate([
19
+ * { id: 1, name: "document1.pdf" },
20
+ * { id: 2, name: "document2.pdf", status: { isUploadError: true } }
21
+ * ]);
22
+ * ```
23
+ */
24
+ export declare const uploadedFileList: <TLastSchemeValues extends Record<string, unknown>>(...rules: ValidationRule<UploadFile[], TLastSchemeValues>[]) => import("../core").Guard<TLastSchemeValues, {}>;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.uploadedFileList = void 0;
4
+ const core_1 = require("../core");
5
+ const array_1 = require("../array");
6
+ const uploadedFile_1 = require("../uploadedFile");
7
+ const constants_1 = require("./constants");
8
+ /**
9
+ * Guard для списка файлов. Проверяет массив на валидность и каждый файл в массиве на соответствие формату UploadFile.
10
+ * Проверяет статусы файлов (isLoading, isUploadError, isRestrictionError).
11
+ * @param rules - дополнительные правила валидации для массива файлов
12
+ * @example
13
+ * ```ts
14
+ * const validate = uploadedFileList();
15
+ *
16
+ * // Валидный массив файлов
17
+ * validate([
18
+ * { id: 1, name: "document1.pdf" },
19
+ * { id: 2, name: "document2.pdf", status: { isLoading: false } }
20
+ * ]);
21
+ *
22
+ * // Массив с ошибкой загрузки
23
+ * validate([
24
+ * { id: 1, name: "document1.pdf" },
25
+ * { id: 2, name: "document2.pdf", status: { isUploadError: true } }
26
+ * ]);
27
+ * ```
28
+ */
29
+ const uploadedFileList = (...rules) => (0, core_1.createGuard)((value, ctx) => {
30
+ if ((0, array_1.array)()(value)) {
31
+ return ctx.createError({
32
+ code: constants_1.FILE_LIST_NOT_ARRAY_ERROR_INFO.code,
33
+ message: constants_1.FILE_LIST_NOT_ARRAY_ERROR_INFO.message,
34
+ });
35
+ }
36
+ const uploadFileList = value;
37
+ for (const item of uploadFileList) {
38
+ if ((0, uploadedFile_1.uploadedFile)()(item)) {
39
+ const error = (0, uploadedFile_1.uploadedFile)()(item, ctx);
40
+ if (error) {
41
+ return error;
42
+ }
43
+ }
44
+ }
45
+ return (0, core_1.compose)(...rules)(uploadFileList, ctx);
46
+ });
47
+ exports.uploadedFileList = uploadedFileList;
@@ -0,0 +1 @@
1
+ export * from './when';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./when"), exports);
@@ -0,0 +1,39 @@
1
+ import { type ValidationContext, type ValidationRule } from '../core';
2
+ type Params<TLastSchemaValues extends Record<string, unknown>> = {
3
+ /**
4
+ * Условие для выбора ветки
5
+ */
6
+ is: (value: unknown, ctx: ValidationContext<TLastSchemaValues>) => boolean;
7
+ /**
8
+ * Правила валидации, применяемые если is === true
9
+ */
10
+ then: ValidationRule<unknown, TLastSchemaValues>;
11
+ /**
12
+ * Правила валидации, применяемые если is === false
13
+ */
14
+ otherwise: ValidationRule<unknown, TLastSchemaValues>;
15
+ };
16
+ /**
17
+ * Позволяет указывать условные валидации
18
+ * @example
19
+ * ```ts
20
+ * type Values = { name: string; isAgree: boolean };
21
+ *
22
+ * const validate = object<Values>({
23
+ * name: when({
24
+ * is: (_, ctx) => ctx.global.values.isAgree,
25
+ * then: string(),
26
+ * otherwise: any(),
27
+ * }),
28
+ * isAgree: optional(boolean()),
29
+ * });
30
+ *
31
+ * // undefined
32
+ * const result1 = validate({ isAgree: false, name: '' });
33
+ *
34
+ * // Required error для name
35
+ * const result2 = validate({ isAgree: true, name: '' });
36
+ * ```
37
+ */
38
+ export declare const when: <TLastSchemaValues extends Record<string, unknown>>({ is, then, otherwise, }: Params<TLastSchemaValues>) => (value: unknown, prevCtx?: ValidationContext<TLastSchemaValues> | undefined) => import("../core").ValidationResult;
39
+ export {};
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.when = void 0;
4
+ const core_1 = require("../core");
5
+ /**
6
+ * Позволяет указывать условные валидации
7
+ * @example
8
+ * ```ts
9
+ * type Values = { name: string; isAgree: boolean };
10
+ *
11
+ * const validate = object<Values>({
12
+ * name: when({
13
+ * is: (_, ctx) => ctx.global.values.isAgree,
14
+ * then: string(),
15
+ * otherwise: any(),
16
+ * }),
17
+ * isAgree: optional(boolean()),
18
+ * });
19
+ *
20
+ * // undefined
21
+ * const result1 = validate({ isAgree: false, name: '' });
22
+ *
23
+ * // Required error для name
24
+ * const result2 = validate({ isAgree: true, name: '' });
25
+ * ```
26
+ */
27
+ const when = ({ is, then, otherwise, }) => (0, core_1.createRule)((value, ctx) => {
28
+ if (is(value, ctx)) {
29
+ return (0, core_1.callRule)(then, value, ctx);
30
+ }
31
+ return (0, core_1.callRule)(otherwise, value, ctx);
32
+ });
33
+ exports.when = when;
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@astral/validations",
3
- "version": "4.20.2",
3
+ "version": "4.20.4",
4
4
  "browser": "./index.js",
5
- "main": "./index.js",
5
+ "main": "./mode/index.js",
6
6
  "dependencies": {
7
7
  "is-plain-obj": "^4.1.0",
8
8
  "utility-types": "^3.10.0",
@@ -22,6 +22,10 @@
22
22
  "types": "./index.d.ts",
23
23
  "module": "./index.js",
24
24
  "exports": {
25
- ".": "./index.js"
25
+ ".": {
26
+ "vitest": "./node/index.js",
27
+ "module": "./index.js",
28
+ "require": "./node/index.js"
29
+ }
26
30
  }
27
31
  }