@mdigitalcn/utils 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (581) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +228 -0
  3. package/dist/esm/array/checkValueInArray.js +2 -0
  4. package/dist/esm/array/checkValueInArray.js.map +1 -0
  5. package/dist/esm/array/chunk.js +2 -0
  6. package/dist/esm/array/chunk.js.map +1 -0
  7. package/dist/esm/array/collectBy.js +2 -0
  8. package/dist/esm/array/collectBy.js.map +1 -0
  9. package/dist/esm/array/compact.js +2 -0
  10. package/dist/esm/array/compact.js.map +1 -0
  11. package/dist/esm/array/countBy.js +2 -0
  12. package/dist/esm/array/countBy.js.map +1 -0
  13. package/dist/esm/array/difference.js +2 -0
  14. package/dist/esm/array/difference.js.map +1 -0
  15. package/dist/esm/array/drop.js +2 -0
  16. package/dist/esm/array/drop.js.map +1 -0
  17. package/dist/esm/array/dropWhile.js +2 -0
  18. package/dist/esm/array/dropWhile.js.map +1 -0
  19. package/dist/esm/array/first.js +2 -0
  20. package/dist/esm/array/first.js.map +1 -0
  21. package/dist/esm/array/flatten.js +2 -0
  22. package/dist/esm/array/flatten.js.map +1 -0
  23. package/dist/esm/array/groupBy.js +2 -0
  24. package/dist/esm/array/groupBy.js.map +1 -0
  25. package/dist/esm/array/index.js +2 -0
  26. package/dist/esm/array/index.js.map +1 -0
  27. package/dist/esm/array/intersection.js +2 -0
  28. package/dist/esm/array/intersection.js.map +1 -0
  29. package/dist/esm/array/keyBy.js +2 -0
  30. package/dist/esm/array/keyBy.js.map +1 -0
  31. package/dist/esm/array/last.js +2 -0
  32. package/dist/esm/array/last.js.map +1 -0
  33. package/dist/esm/array/maxBy.js +2 -0
  34. package/dist/esm/array/maxBy.js.map +1 -0
  35. package/dist/esm/array/minBy.js +2 -0
  36. package/dist/esm/array/minBy.js.map +1 -0
  37. package/dist/esm/array/partition.js +2 -0
  38. package/dist/esm/array/partition.js.map +1 -0
  39. package/dist/esm/array/sameElementsInArrays.js +2 -0
  40. package/dist/esm/array/sameElementsInArrays.js.map +1 -0
  41. package/dist/esm/array/sample.js +2 -0
  42. package/dist/esm/array/sample.js.map +1 -0
  43. package/dist/esm/array/shuffle.js +2 -0
  44. package/dist/esm/array/shuffle.js.map +1 -0
  45. package/dist/esm/array/sortBy.js +2 -0
  46. package/dist/esm/array/sortBy.js.map +1 -0
  47. package/dist/esm/array/take.js +2 -0
  48. package/dist/esm/array/take.js.map +1 -0
  49. package/dist/esm/array/takeWhile.js +2 -0
  50. package/dist/esm/array/takeWhile.js.map +1 -0
  51. package/dist/esm/array/union.js +2 -0
  52. package/dist/esm/array/union.js.map +1 -0
  53. package/dist/esm/array/uniq.js +2 -0
  54. package/dist/esm/array/uniq.js.map +1 -0
  55. package/dist/esm/array/uniqBy.js +2 -0
  56. package/dist/esm/array/uniqBy.js.map +1 -0
  57. package/dist/esm/array/without.js +2 -0
  58. package/dist/esm/array/without.js.map +1 -0
  59. package/dist/esm/array/xor.js +2 -0
  60. package/dist/esm/array/xor.js.map +1 -0
  61. package/dist/esm/array/zip.js +2 -0
  62. package/dist/esm/array/zip.js.map +1 -0
  63. package/dist/esm/array/zipObject.js +2 -0
  64. package/dist/esm/array/zipObject.js.map +1 -0
  65. package/dist/esm/file/anyToString.js +2 -0
  66. package/dist/esm/file/anyToString.js.map +1 -0
  67. package/dist/esm/file/convertToFormData.js +2 -0
  68. package/dist/esm/file/convertToFormData.js.map +1 -0
  69. package/dist/esm/file/decodeURIValue.js +2 -0
  70. package/dist/esm/file/decodeURIValue.js.map +1 -0
  71. package/dist/esm/file/downloadFile.js +2 -0
  72. package/dist/esm/file/downloadFile.js.map +1 -0
  73. package/dist/esm/file/getBase64.js +2 -0
  74. package/dist/esm/file/getBase64.js.map +1 -0
  75. package/dist/esm/file/index.js +2 -0
  76. package/dist/esm/file/index.js.map +1 -0
  77. package/dist/esm/file/isFileArray.js +2 -0
  78. package/dist/esm/file/isFileArray.js.map +1 -0
  79. package/dist/esm/function/compose.js +2 -0
  80. package/dist/esm/function/compose.js.map +1 -0
  81. package/dist/esm/function/curry.js +2 -0
  82. package/dist/esm/function/curry.js.map +1 -0
  83. package/dist/esm/function/debounce.js +2 -0
  84. package/dist/esm/function/debounce.js.map +1 -0
  85. package/dist/esm/function/hexToRgba.js +2 -0
  86. package/dist/esm/function/hexToRgba.js.map +1 -0
  87. package/dist/esm/function/identity.js +2 -0
  88. package/dist/esm/function/identity.js.map +1 -0
  89. package/dist/esm/function/index.js +2 -0
  90. package/dist/esm/function/index.js.map +1 -0
  91. package/dist/esm/function/memoize.js +2 -0
  92. package/dist/esm/function/memoize.js.map +1 -0
  93. package/dist/esm/function/negate.js +2 -0
  94. package/dist/esm/function/negate.js.map +1 -0
  95. package/dist/esm/function/noop.js +2 -0
  96. package/dist/esm/function/noop.js.map +1 -0
  97. package/dist/esm/function/once.js +2 -0
  98. package/dist/esm/function/once.js.map +1 -0
  99. package/dist/esm/function/partial.js +2 -0
  100. package/dist/esm/function/partial.js.map +1 -0
  101. package/dist/esm/function/pipe.js +2 -0
  102. package/dist/esm/function/pipe.js.map +1 -0
  103. package/dist/esm/function/queryString.js +2 -0
  104. package/dist/esm/function/queryString.js.map +1 -0
  105. package/dist/esm/function/throttle.js +2 -0
  106. package/dist/esm/function/throttle.js.map +1 -0
  107. package/dist/esm/index.js +2 -0
  108. package/dist/esm/index.js.map +1 -0
  109. package/dist/esm/math/clamp.js +2 -0
  110. package/dist/esm/math/clamp.js.map +1 -0
  111. package/dist/esm/math/inRange.js +2 -0
  112. package/dist/esm/math/inRange.js.map +1 -0
  113. package/dist/esm/math/index.js +2 -0
  114. package/dist/esm/math/index.js.map +1 -0
  115. package/dist/esm/math/mean.js +2 -0
  116. package/dist/esm/math/mean.js.map +1 -0
  117. package/dist/esm/math/median.js +2 -0
  118. package/dist/esm/math/median.js.map +1 -0
  119. package/dist/esm/math/random.js +2 -0
  120. package/dist/esm/math/random.js.map +1 -0
  121. package/dist/esm/math/range.js +2 -0
  122. package/dist/esm/math/range.js.map +1 -0
  123. package/dist/esm/math/round.js +2 -0
  124. package/dist/esm/math/round.js.map +1 -0
  125. package/dist/esm/math/sum.js +2 -0
  126. package/dist/esm/math/sum.js.map +1 -0
  127. package/dist/esm/object/cloneDeep.js +2 -0
  128. package/dist/esm/object/cloneDeep.js.map +1 -0
  129. package/dist/esm/object/findKey.js +2 -0
  130. package/dist/esm/object/findKey.js.map +1 -0
  131. package/dist/esm/object/flattenObject.js +2 -0
  132. package/dist/esm/object/flattenObject.js.map +1 -0
  133. package/dist/esm/object/get.js +2 -0
  134. package/dist/esm/object/get.js.map +1 -0
  135. package/dist/esm/object/getTrue.js +2 -0
  136. package/dist/esm/object/getTrue.js.map +1 -0
  137. package/dist/esm/object/has.js +2 -0
  138. package/dist/esm/object/has.js.map +1 -0
  139. package/dist/esm/object/index.js +2 -0
  140. package/dist/esm/object/index.js.map +1 -0
  141. package/dist/esm/object/invert.js +2 -0
  142. package/dist/esm/object/invert.js.map +1 -0
  143. package/dist/esm/object/isEmpty.js +2 -0
  144. package/dist/esm/object/isEmpty.js.map +1 -0
  145. package/dist/esm/object/jsonParse.js +2 -0
  146. package/dist/esm/object/jsonParse.js.map +1 -0
  147. package/dist/esm/object/mapKeys.js +2 -0
  148. package/dist/esm/object/mapKeys.js.map +1 -0
  149. package/dist/esm/object/mapValues.js +2 -0
  150. package/dist/esm/object/mapValues.js.map +1 -0
  151. package/dist/esm/object/mergeDeep.js +2 -0
  152. package/dist/esm/object/mergeDeep.js.map +1 -0
  153. package/dist/esm/object/omit.js +2 -0
  154. package/dist/esm/object/omit.js.map +1 -0
  155. package/dist/esm/object/omitBy.js +2 -0
  156. package/dist/esm/object/omitBy.js.map +1 -0
  157. package/dist/esm/object/path.js +2 -0
  158. package/dist/esm/object/path.js.map +1 -0
  159. package/dist/esm/object/pathOr.js +2 -0
  160. package/dist/esm/object/pathOr.js.map +1 -0
  161. package/dist/esm/object/pick.js +2 -0
  162. package/dist/esm/object/pick.js.map +1 -0
  163. package/dist/esm/object/pickBy.js +2 -0
  164. package/dist/esm/object/pickBy.js.map +1 -0
  165. package/dist/esm/object/prop.js +2 -0
  166. package/dist/esm/object/prop.js.map +1 -0
  167. package/dist/esm/object/propOr.js +2 -0
  168. package/dist/esm/object/propOr.js.map +1 -0
  169. package/dist/esm/object/set.js +2 -0
  170. package/dist/esm/object/set.js.map +1 -0
  171. package/dist/esm/predicate/index.js +2 -0
  172. package/dist/esm/predicate/index.js.map +1 -0
  173. package/dist/esm/predicate/isArray.js +2 -0
  174. package/dist/esm/predicate/isArray.js.map +1 -0
  175. package/dist/esm/predicate/isBoolean.js +2 -0
  176. package/dist/esm/predicate/isBoolean.js.map +1 -0
  177. package/dist/esm/predicate/isDate.js +2 -0
  178. package/dist/esm/predicate/isDate.js.map +1 -0
  179. package/dist/esm/predicate/isEqual.js +2 -0
  180. package/dist/esm/predicate/isEqual.js.map +1 -0
  181. package/dist/esm/predicate/isError.js +2 -0
  182. package/dist/esm/predicate/isError.js.map +1 -0
  183. package/dist/esm/predicate/isFunction.js +2 -0
  184. package/dist/esm/predicate/isFunction.js.map +1 -0
  185. package/dist/esm/predicate/isNil.js +2 -0
  186. package/dist/esm/predicate/isNil.js.map +1 -0
  187. package/dist/esm/predicate/isNumber.js +2 -0
  188. package/dist/esm/predicate/isNumber.js.map +1 -0
  189. package/dist/esm/predicate/isPlainObject.js +2 -0
  190. package/dist/esm/predicate/isPlainObject.js.map +1 -0
  191. package/dist/esm/predicate/isPrimitive.js +2 -0
  192. package/dist/esm/predicate/isPrimitive.js.map +1 -0
  193. package/dist/esm/predicate/isPromise.js +2 -0
  194. package/dist/esm/predicate/isPromise.js.map +1 -0
  195. package/dist/esm/predicate/isString.js +2 -0
  196. package/dist/esm/predicate/isString.js.map +1 -0
  197. package/dist/esm/promise/attempt.js +2 -0
  198. package/dist/esm/promise/attempt.js.map +1 -0
  199. package/dist/esm/promise/delay.js +2 -0
  200. package/dist/esm/promise/delay.js.map +1 -0
  201. package/dist/esm/promise/index.js +2 -0
  202. package/dist/esm/promise/index.js.map +1 -0
  203. package/dist/esm/promise/invariant.js +2 -0
  204. package/dist/esm/promise/invariant.js.map +1 -0
  205. package/dist/esm/promise/retry.js +2 -0
  206. package/dist/esm/promise/retry.js.map +1 -0
  207. package/dist/esm/promise/timeout.js +2 -0
  208. package/dist/esm/promise/timeout.js.map +1 -0
  209. package/dist/esm/react/hooks/useClickOutside.js +3 -0
  210. package/dist/esm/react/hooks/useClickOutside.js.map +1 -0
  211. package/dist/esm/react/hooks/useCopyToClipboard.js +3 -0
  212. package/dist/esm/react/hooks/useCopyToClipboard.js.map +1 -0
  213. package/dist/esm/react/hooks/useDebounce.js +3 -0
  214. package/dist/esm/react/hooks/useDebounce.js.map +1 -0
  215. package/dist/esm/react/hooks/useIntersectionObserver.js +3 -0
  216. package/dist/esm/react/hooks/useIntersectionObserver.js.map +1 -0
  217. package/dist/esm/react/hooks/useIsMounted.js +3 -0
  218. package/dist/esm/react/hooks/useIsMounted.js.map +1 -0
  219. package/dist/esm/react/hooks/useLocalStorage.js +3 -0
  220. package/dist/esm/react/hooks/useLocalStorage.js.map +1 -0
  221. package/dist/esm/react/hooks/useMediaQuery.js +3 -0
  222. package/dist/esm/react/hooks/useMediaQuery.js.map +1 -0
  223. package/dist/esm/react/hooks/useMountEffect.js +3 -0
  224. package/dist/esm/react/hooks/useMountEffect.js.map +1 -0
  225. package/dist/esm/react/hooks/usePrevious.js +3 -0
  226. package/dist/esm/react/hooks/usePrevious.js.map +1 -0
  227. package/dist/esm/react/hooks/useScreenSize.js +3 -0
  228. package/dist/esm/react/hooks/useScreenSize.js.map +1 -0
  229. package/dist/esm/react/hooks/useSessionStorage.js +3 -0
  230. package/dist/esm/react/hooks/useSessionStorage.js.map +1 -0
  231. package/dist/esm/react/hooks/useThrottle.js +3 -0
  232. package/dist/esm/react/hooks/useThrottle.js.map +1 -0
  233. package/dist/esm/react/hooks/useToggle.js +3 -0
  234. package/dist/esm/react/hooks/useToggle.js.map +1 -0
  235. package/dist/esm/react/hooks/useUpdateEffect.js +3 -0
  236. package/dist/esm/react/hooks/useUpdateEffect.js.map +1 -0
  237. package/dist/esm/react/index.js +2 -0
  238. package/dist/esm/react/index.js.map +1 -0
  239. package/dist/esm/react/utils/clsx.js +2 -0
  240. package/dist/esm/react/utils/clsx.js.map +1 -0
  241. package/dist/esm/react/utils/createContext.js +3 -0
  242. package/dist/esm/react/utils/createContext.js.map +1 -0
  243. package/dist/esm/react/utils/displayField.js +2 -0
  244. package/dist/esm/react/utils/displayField.js.map +1 -0
  245. package/dist/esm/string/camelCase.js +2 -0
  246. package/dist/esm/string/camelCase.js.map +1 -0
  247. package/dist/esm/string/capitalize.js +2 -0
  248. package/dist/esm/string/capitalize.js.map +1 -0
  249. package/dist/esm/string/deburr.js +2 -0
  250. package/dist/esm/string/deburr.js.map +1 -0
  251. package/dist/esm/string/escapeHtml.js +2 -0
  252. package/dist/esm/string/escapeHtml.js.map +1 -0
  253. package/dist/esm/string/escapeRegExp.js +2 -0
  254. package/dist/esm/string/escapeRegExp.js.map +1 -0
  255. package/dist/esm/string/formatBytes.js +2 -0
  256. package/dist/esm/string/formatBytes.js.map +1 -0
  257. package/dist/esm/string/formatDuration.js +2 -0
  258. package/dist/esm/string/formatDuration.js.map +1 -0
  259. package/dist/esm/string/formatNumber.js +2 -0
  260. package/dist/esm/string/formatNumber.js.map +1 -0
  261. package/dist/esm/string/htmlToText.js +2 -0
  262. package/dist/esm/string/htmlToText.js.map +1 -0
  263. package/dist/esm/string/index.js +2 -0
  264. package/dist/esm/string/index.js.map +1 -0
  265. package/dist/esm/string/kebabCase.js +2 -0
  266. package/dist/esm/string/kebabCase.js.map +1 -0
  267. package/dist/esm/string/maskString.js +2 -0
  268. package/dist/esm/string/maskString.js.map +1 -0
  269. package/dist/esm/string/pascalCase.js +2 -0
  270. package/dist/esm/string/pascalCase.js.map +1 -0
  271. package/dist/esm/string/pluralize.js +2 -0
  272. package/dist/esm/string/pluralize.js.map +1 -0
  273. package/dist/esm/string/slugify.js +2 -0
  274. package/dist/esm/string/slugify.js.map +1 -0
  275. package/dist/esm/string/snakeCase.js +2 -0
  276. package/dist/esm/string/snakeCase.js.map +1 -0
  277. package/dist/esm/string/startCase.js +2 -0
  278. package/dist/esm/string/startCase.js.map +1 -0
  279. package/dist/esm/string/template.js +2 -0
  280. package/dist/esm/string/template.js.map +1 -0
  281. package/dist/esm/string/truncateString.js +2 -0
  282. package/dist/esm/string/truncateString.js.map +1 -0
  283. package/dist/esm/string/words.js +2 -0
  284. package/dist/esm/string/words.js.map +1 -0
  285. package/dist/esm/validation/index.js +2 -0
  286. package/dist/esm/validation/index.js.map +1 -0
  287. package/dist/esm/validation/validateFileSizeByType.js +2 -0
  288. package/dist/esm/validation/validateFileSizeByType.js.map +1 -0
  289. package/dist/types/array/checkValueInArray.d.ts +23 -0
  290. package/dist/types/array/checkValueInArray.d.ts.map +1 -0
  291. package/dist/types/array/chunk.d.ts +15 -0
  292. package/dist/types/array/chunk.d.ts.map +1 -0
  293. package/dist/types/array/collectBy.d.ts +21 -0
  294. package/dist/types/array/collectBy.d.ts.map +1 -0
  295. package/dist/types/array/compact.d.ts +19 -0
  296. package/dist/types/array/compact.d.ts.map +1 -0
  297. package/dist/types/array/countBy.d.ts +13 -0
  298. package/dist/types/array/countBy.d.ts.map +1 -0
  299. package/dist/types/array/difference.d.ts +14 -0
  300. package/dist/types/array/difference.d.ts.map +1 -0
  301. package/dist/types/array/drop.d.ts +14 -0
  302. package/dist/types/array/drop.d.ts.map +1 -0
  303. package/dist/types/array/dropWhile.d.ts +13 -0
  304. package/dist/types/array/dropWhile.d.ts.map +1 -0
  305. package/dist/types/array/first.d.ts +13 -0
  306. package/dist/types/array/first.d.ts.map +1 -0
  307. package/dist/types/array/flatten.d.ts +13 -0
  308. package/dist/types/array/flatten.d.ts.map +1 -0
  309. package/dist/types/array/groupBy.d.ts +17 -0
  310. package/dist/types/array/groupBy.d.ts.map +1 -0
  311. package/dist/types/array/index.d.ts +31 -0
  312. package/dist/types/array/index.d.ts.map +1 -0
  313. package/dist/types/array/intersection.d.ts +14 -0
  314. package/dist/types/array/intersection.d.ts.map +1 -0
  315. package/dist/types/array/keyBy.d.ts +15 -0
  316. package/dist/types/array/keyBy.d.ts.map +1 -0
  317. package/dist/types/array/last.d.ts +13 -0
  318. package/dist/types/array/last.d.ts.map +1 -0
  319. package/dist/types/array/maxBy.d.ts +13 -0
  320. package/dist/types/array/maxBy.d.ts.map +1 -0
  321. package/dist/types/array/minBy.d.ts +13 -0
  322. package/dist/types/array/minBy.d.ts.map +1 -0
  323. package/dist/types/array/partition.d.ts +13 -0
  324. package/dist/types/array/partition.d.ts.map +1 -0
  325. package/dist/types/array/sameElementsInArrays.d.ts +15 -0
  326. package/dist/types/array/sameElementsInArrays.d.ts.map +1 -0
  327. package/dist/types/array/sample.d.ts +12 -0
  328. package/dist/types/array/sample.d.ts.map +1 -0
  329. package/dist/types/array/shuffle.d.ts +12 -0
  330. package/dist/types/array/shuffle.d.ts.map +1 -0
  331. package/dist/types/array/sortBy.d.ts +20 -0
  332. package/dist/types/array/sortBy.d.ts.map +1 -0
  333. package/dist/types/array/take.d.ts +14 -0
  334. package/dist/types/array/take.d.ts.map +1 -0
  335. package/dist/types/array/takeWhile.d.ts +13 -0
  336. package/dist/types/array/takeWhile.d.ts.map +1 -0
  337. package/dist/types/array/union.d.ts +13 -0
  338. package/dist/types/array/union.d.ts.map +1 -0
  339. package/dist/types/array/uniq.d.ts +12 -0
  340. package/dist/types/array/uniq.d.ts.map +1 -0
  341. package/dist/types/array/uniqBy.d.ts +12 -0
  342. package/dist/types/array/uniqBy.d.ts.map +1 -0
  343. package/dist/types/array/without.d.ts +13 -0
  344. package/dist/types/array/without.d.ts.map +1 -0
  345. package/dist/types/array/xor.d.ts +13 -0
  346. package/dist/types/array/xor.d.ts.map +1 -0
  347. package/dist/types/array/zip.d.ts +15 -0
  348. package/dist/types/array/zip.d.ts.map +1 -0
  349. package/dist/types/array/zipObject.d.ts +13 -0
  350. package/dist/types/array/zipObject.d.ts.map +1 -0
  351. package/dist/types/file/anyToString.d.ts +24 -0
  352. package/dist/types/file/anyToString.d.ts.map +1 -0
  353. package/dist/types/file/convertToFormData.d.ts +19 -0
  354. package/dist/types/file/convertToFormData.d.ts.map +1 -0
  355. package/dist/types/file/decodeURIValue.d.ts +22 -0
  356. package/dist/types/file/decodeURIValue.d.ts.map +1 -0
  357. package/dist/types/file/downloadFile.d.ts +28 -0
  358. package/dist/types/file/downloadFile.d.ts.map +1 -0
  359. package/dist/types/file/getBase64.d.ts +20 -0
  360. package/dist/types/file/getBase64.d.ts.map +1 -0
  361. package/dist/types/file/index.d.ts +7 -0
  362. package/dist/types/file/index.d.ts.map +1 -0
  363. package/dist/types/file/isFileArray.d.ts +13 -0
  364. package/dist/types/file/isFileArray.d.ts.map +1 -0
  365. package/dist/types/function/compose.d.ts +24 -0
  366. package/dist/types/function/compose.d.ts.map +1 -0
  367. package/dist/types/function/curry.d.ts +39 -0
  368. package/dist/types/function/curry.d.ts.map +1 -0
  369. package/dist/types/function/debounce.d.ts +36 -0
  370. package/dist/types/function/debounce.d.ts.map +1 -0
  371. package/dist/types/function/hexToRgba.d.ts +19 -0
  372. package/dist/types/function/hexToRgba.d.ts.map +1 -0
  373. package/dist/types/function/identity.d.ts +24 -0
  374. package/dist/types/function/identity.d.ts.map +1 -0
  375. package/dist/types/function/index.d.ts +16 -0
  376. package/dist/types/function/index.d.ts.map +1 -0
  377. package/dist/types/function/memoize.d.ts +20 -0
  378. package/dist/types/function/memoize.d.ts.map +1 -0
  379. package/dist/types/function/negate.d.ts +12 -0
  380. package/dist/types/function/negate.d.ts.map +1 -0
  381. package/dist/types/function/noop.d.ts +27 -0
  382. package/dist/types/function/noop.d.ts.map +1 -0
  383. package/dist/types/function/once.d.ts +22 -0
  384. package/dist/types/function/once.d.ts.map +1 -0
  385. package/dist/types/function/partial.d.ts +17 -0
  386. package/dist/types/function/partial.d.ts.map +1 -0
  387. package/dist/types/function/pipe.d.ts +24 -0
  388. package/dist/types/function/pipe.d.ts.map +1 -0
  389. package/dist/types/function/queryString.d.ts +44 -0
  390. package/dist/types/function/queryString.d.ts.map +1 -0
  391. package/dist/types/function/throttle.d.ts +35 -0
  392. package/dist/types/function/throttle.d.ts.map +1 -0
  393. package/dist/types/index.d.ts +18 -0
  394. package/dist/types/index.d.ts.map +1 -0
  395. package/dist/types/math/clamp.d.ts +15 -0
  396. package/dist/types/math/clamp.d.ts.map +1 -0
  397. package/dist/types/math/inRange.d.ts +18 -0
  398. package/dist/types/math/inRange.d.ts.map +1 -0
  399. package/dist/types/math/index.d.ts +9 -0
  400. package/dist/types/math/index.d.ts.map +1 -0
  401. package/dist/types/math/mean.d.ts +11 -0
  402. package/dist/types/math/mean.d.ts.map +1 -0
  403. package/dist/types/math/median.d.ts +15 -0
  404. package/dist/types/math/median.d.ts.map +1 -0
  405. package/dist/types/math/random.d.ts +27 -0
  406. package/dist/types/math/random.d.ts.map +1 -0
  407. package/dist/types/math/range.d.ts +18 -0
  408. package/dist/types/math/range.d.ts.map +1 -0
  409. package/dist/types/math/round.d.ts +16 -0
  410. package/dist/types/math/round.d.ts.map +1 -0
  411. package/dist/types/math/sum.d.ts +11 -0
  412. package/dist/types/math/sum.d.ts.map +1 -0
  413. package/dist/types/object/cloneDeep.d.ts +18 -0
  414. package/dist/types/object/cloneDeep.d.ts.map +1 -0
  415. package/dist/types/object/findKey.d.ts +14 -0
  416. package/dist/types/object/findKey.d.ts.map +1 -0
  417. package/dist/types/object/flattenObject.d.ts +16 -0
  418. package/dist/types/object/flattenObject.d.ts.map +1 -0
  419. package/dist/types/object/get.d.ts +22 -0
  420. package/dist/types/object/get.d.ts.map +1 -0
  421. package/dist/types/object/getTrue.d.ts +12 -0
  422. package/dist/types/object/getTrue.d.ts.map +1 -0
  423. package/dist/types/object/has.d.ts +15 -0
  424. package/dist/types/object/has.d.ts.map +1 -0
  425. package/dist/types/object/index.d.ts +22 -0
  426. package/dist/types/object/index.d.ts.map +1 -0
  427. package/dist/types/object/invert.d.ts +13 -0
  428. package/dist/types/object/invert.d.ts.map +1 -0
  429. package/dist/types/object/isEmpty.d.ts +23 -0
  430. package/dist/types/object/isEmpty.d.ts.map +1 -0
  431. package/dist/types/object/jsonParse.d.ts +21 -0
  432. package/dist/types/object/jsonParse.d.ts.map +1 -0
  433. package/dist/types/object/mapKeys.d.ts +17 -0
  434. package/dist/types/object/mapKeys.d.ts.map +1 -0
  435. package/dist/types/object/mapValues.d.ts +17 -0
  436. package/dist/types/object/mapValues.d.ts.map +1 -0
  437. package/dist/types/object/mergeDeep.d.ts +20 -0
  438. package/dist/types/object/mergeDeep.d.ts.map +1 -0
  439. package/dist/types/object/omit.d.ts +13 -0
  440. package/dist/types/object/omit.d.ts.map +1 -0
  441. package/dist/types/object/omitBy.d.ts +17 -0
  442. package/dist/types/object/omitBy.d.ts.map +1 -0
  443. package/dist/types/object/path.d.ts +13 -0
  444. package/dist/types/object/path.d.ts.map +1 -0
  445. package/dist/types/object/pathOr.d.ts +14 -0
  446. package/dist/types/object/pathOr.d.ts.map +1 -0
  447. package/dist/types/object/pick.d.ts +13 -0
  448. package/dist/types/object/pick.d.ts.map +1 -0
  449. package/dist/types/object/pickBy.d.ts +17 -0
  450. package/dist/types/object/pickBy.d.ts.map +1 -0
  451. package/dist/types/object/prop.d.ts +31 -0
  452. package/dist/types/object/prop.d.ts.map +1 -0
  453. package/dist/types/object/propOr.d.ts +39 -0
  454. package/dist/types/object/propOr.d.ts.map +1 -0
  455. package/dist/types/object/set.d.ts +16 -0
  456. package/dist/types/object/set.d.ts.map +1 -0
  457. package/dist/types/predicate/index.d.ts +16 -0
  458. package/dist/types/predicate/index.d.ts.map +1 -0
  459. package/dist/types/predicate/isArray.d.ts +14 -0
  460. package/dist/types/predicate/isArray.d.ts.map +1 -0
  461. package/dist/types/predicate/isBoolean.d.ts +14 -0
  462. package/dist/types/predicate/isBoolean.d.ts.map +1 -0
  463. package/dist/types/predicate/isDate.d.ts +16 -0
  464. package/dist/types/predicate/isDate.d.ts.map +1 -0
  465. package/dist/types/predicate/isEqual.d.ts +18 -0
  466. package/dist/types/predicate/isEqual.d.ts.map +1 -0
  467. package/dist/types/predicate/isError.d.ts +14 -0
  468. package/dist/types/predicate/isError.d.ts.map +1 -0
  469. package/dist/types/predicate/isFunction.d.ts +14 -0
  470. package/dist/types/predicate/isFunction.d.ts.map +1 -0
  471. package/dist/types/predicate/isNil.d.ts +33 -0
  472. package/dist/types/predicate/isNil.d.ts.map +1 -0
  473. package/dist/types/predicate/isNumber.d.ts +17 -0
  474. package/dist/types/predicate/isNumber.d.ts.map +1 -0
  475. package/dist/types/predicate/isPlainObject.d.ts +18 -0
  476. package/dist/types/predicate/isPlainObject.d.ts.map +1 -0
  477. package/dist/types/predicate/isPrimitive.d.ts +18 -0
  478. package/dist/types/predicate/isPrimitive.d.ts.map +1 -0
  479. package/dist/types/predicate/isPromise.d.ts +14 -0
  480. package/dist/types/predicate/isPromise.d.ts.map +1 -0
  481. package/dist/types/predicate/isString.d.ts +14 -0
  482. package/dist/types/predicate/isString.d.ts.map +1 -0
  483. package/dist/types/promise/attempt.d.ts +28 -0
  484. package/dist/types/promise/attempt.d.ts.map +1 -0
  485. package/dist/types/promise/delay.d.ts +26 -0
  486. package/dist/types/promise/delay.d.ts.map +1 -0
  487. package/dist/types/promise/index.d.ts +10 -0
  488. package/dist/types/promise/index.d.ts.map +1 -0
  489. package/dist/types/promise/invariant.d.ts +18 -0
  490. package/dist/types/promise/invariant.d.ts.map +1 -0
  491. package/dist/types/promise/retry.d.ts +36 -0
  492. package/dist/types/promise/retry.d.ts.map +1 -0
  493. package/dist/types/promise/timeout.d.ts +30 -0
  494. package/dist/types/promise/timeout.d.ts.map +1 -0
  495. package/dist/types/react/hooks/index.d.ts +21 -0
  496. package/dist/types/react/hooks/index.d.ts.map +1 -0
  497. package/dist/types/react/hooks/useClickOutside.d.ts +116 -0
  498. package/dist/types/react/hooks/useClickOutside.d.ts.map +1 -0
  499. package/dist/types/react/hooks/useCopyToClipboard.d.ts +22 -0
  500. package/dist/types/react/hooks/useCopyToClipboard.d.ts.map +1 -0
  501. package/dist/types/react/hooks/useDebounce.d.ts +57 -0
  502. package/dist/types/react/hooks/useDebounce.d.ts.map +1 -0
  503. package/dist/types/react/hooks/useIntersectionObserver.d.ts +118 -0
  504. package/dist/types/react/hooks/useIntersectionObserver.d.ts.map +1 -0
  505. package/dist/types/react/hooks/useIsMounted.d.ts +26 -0
  506. package/dist/types/react/hooks/useIsMounted.d.ts.map +1 -0
  507. package/dist/types/react/hooks/useLocalStorage.d.ts +78 -0
  508. package/dist/types/react/hooks/useLocalStorage.d.ts.map +1 -0
  509. package/dist/types/react/hooks/useMediaQuery.d.ts +85 -0
  510. package/dist/types/react/hooks/useMediaQuery.d.ts.map +1 -0
  511. package/dist/types/react/hooks/useMountEffect.d.ts +107 -0
  512. package/dist/types/react/hooks/useMountEffect.d.ts.map +1 -0
  513. package/dist/types/react/hooks/usePrevious.d.ts +88 -0
  514. package/dist/types/react/hooks/usePrevious.d.ts.map +1 -0
  515. package/dist/types/react/hooks/useScreenSize.d.ts +37 -0
  516. package/dist/types/react/hooks/useScreenSize.d.ts.map +1 -0
  517. package/dist/types/react/hooks/useSessionStorage.d.ts +49 -0
  518. package/dist/types/react/hooks/useSessionStorage.d.ts.map +1 -0
  519. package/dist/types/react/hooks/useThrottle.d.ts +62 -0
  520. package/dist/types/react/hooks/useThrottle.d.ts.map +1 -0
  521. package/dist/types/react/hooks/useToggle.d.ts +89 -0
  522. package/dist/types/react/hooks/useToggle.d.ts.map +1 -0
  523. package/dist/types/react/hooks/useUpdateEffect.d.ts +91 -0
  524. package/dist/types/react/hooks/useUpdateEffect.d.ts.map +1 -0
  525. package/dist/types/react/index.d.ts +9 -0
  526. package/dist/types/react/index.d.ts.map +1 -0
  527. package/dist/types/react/utils/clsx.d.ts +31 -0
  528. package/dist/types/react/utils/clsx.d.ts.map +1 -0
  529. package/dist/types/react/utils/createContext.d.ts +27 -0
  530. package/dist/types/react/utils/createContext.d.ts.map +1 -0
  531. package/dist/types/react/utils/displayField.d.ts +18 -0
  532. package/dist/types/react/utils/displayField.d.ts.map +1 -0
  533. package/dist/types/react/utils/index.d.ts +5 -0
  534. package/dist/types/react/utils/index.d.ts.map +1 -0
  535. package/dist/types/string/camelCase.d.ts +16 -0
  536. package/dist/types/string/camelCase.d.ts.map +1 -0
  537. package/dist/types/string/capitalize.d.ts +11 -0
  538. package/dist/types/string/capitalize.d.ts.map +1 -0
  539. package/dist/types/string/deburr.d.ts +14 -0
  540. package/dist/types/string/deburr.d.ts.map +1 -0
  541. package/dist/types/string/escapeHtml.d.ts +17 -0
  542. package/dist/types/string/escapeHtml.d.ts.map +1 -0
  543. package/dist/types/string/escapeRegExp.d.ts +13 -0
  544. package/dist/types/string/escapeRegExp.d.ts.map +1 -0
  545. package/dist/types/string/formatBytes.d.ts +16 -0
  546. package/dist/types/string/formatBytes.d.ts.map +1 -0
  547. package/dist/types/string/formatDuration.d.ts +15 -0
  548. package/dist/types/string/formatDuration.d.ts.map +1 -0
  549. package/dist/types/string/formatNumber.d.ts +20 -0
  550. package/dist/types/string/formatNumber.d.ts.map +1 -0
  551. package/dist/types/string/htmlToText.d.ts +29 -0
  552. package/dist/types/string/htmlToText.d.ts.map +1 -0
  553. package/dist/types/string/index.d.ts +20 -0
  554. package/dist/types/string/index.d.ts.map +1 -0
  555. package/dist/types/string/kebabCase.d.ts +16 -0
  556. package/dist/types/string/kebabCase.d.ts.map +1 -0
  557. package/dist/types/string/maskString.d.ts +18 -0
  558. package/dist/types/string/maskString.d.ts.map +1 -0
  559. package/dist/types/string/pascalCase.d.ts +14 -0
  560. package/dist/types/string/pascalCase.d.ts.map +1 -0
  561. package/dist/types/string/pluralize.d.ts +17 -0
  562. package/dist/types/string/pluralize.d.ts.map +1 -0
  563. package/dist/types/string/slugify.d.ts +15 -0
  564. package/dist/types/string/slugify.d.ts.map +1 -0
  565. package/dist/types/string/snakeCase.d.ts +16 -0
  566. package/dist/types/string/snakeCase.d.ts.map +1 -0
  567. package/dist/types/string/startCase.d.ts +14 -0
  568. package/dist/types/string/startCase.d.ts.map +1 -0
  569. package/dist/types/string/template.d.ts +15 -0
  570. package/dist/types/string/template.d.ts.map +1 -0
  571. package/dist/types/string/truncateString.d.ts +13 -0
  572. package/dist/types/string/truncateString.d.ts.map +1 -0
  573. package/dist/types/string/words.d.ts +16 -0
  574. package/dist/types/string/words.d.ts.map +1 -0
  575. package/dist/types/types/index.d.ts +44 -0
  576. package/dist/types/types/index.d.ts.map +1 -0
  577. package/dist/types/validation/index.d.ts +5 -0
  578. package/dist/types/validation/index.d.ts.map +1 -0
  579. package/dist/types/validation/validateFileSizeByType.d.ts +32 -0
  580. package/dist/types/validation/validateFileSizeByType.d.ts.map +1 -0
  581. package/package.json +109 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clsx.d.ts","sourceRoot":"","sources":["../../../../src/react/utils/clsx.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,MAAM,GACN,OAAO,GACP,SAAS,GACT,IAAI,GACJ,eAAe,GACf,UAAU,CAAC;AACf,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC;AACzE,MAAM,MAAM,UAAU,GAAG,UAAU,EAAE,CAAC;AAEtC,wBAAgB,IAAI,CAAC,GAAG,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,CAYlD;AAmCD,eAAe,IAAI,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Creates a type-safe React context with a custom hook.
3
+ *
4
+ * @example
5
+ * const [ThemeProvider, useTheme] = createContext<{ theme: string }>('Theme');
6
+ *
7
+ * function App() {
8
+ * return (
9
+ * <ThemeProvider value={{ theme: 'dark' }}>
10
+ * <Child />
11
+ * </ThemeProvider>
12
+ * );
13
+ * }
14
+ *
15
+ * function Child() {
16
+ * const { theme } = useTheme(); // Type-safe!
17
+ * return <div>{theme}</div>;
18
+ * }
19
+ *
20
+ * @param displayName - Display name for debugging
21
+ * @returns Tuple of [Provider, useContext hook]
22
+ */
23
+ export declare function createContext<T>(displayName: string): [
24
+ React.Provider<T | undefined>,
25
+ () => T
26
+ ];
27
+ //# sourceMappingURL=createContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createContext.d.ts","sourceRoot":"","sources":["../../../../src/react/utils/createContext.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC7B,WAAW,EAAE,MAAM,GAClB;IACD,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC;IAC7B,MAAM,CAAC;CACR,CAeA"}
@@ -0,0 +1,18 @@
1
+ import { ReactNode } from "react";
2
+ /**
3
+ * Returns a display-safe value for UI rendering, substituting a placeholder
4
+ * for empty, null, or undefined fields. Numbers are always shown as-is.
5
+ *
6
+ * @example
7
+ * displayField(42) // 42
8
+ * displayField(null) // '-'
9
+ * displayField(undefined, 'N/A') // 'N/A'
10
+ * displayField('Hello') // 'Hello'
11
+ * displayField('') // '-'
12
+ *
13
+ * @param {string | number | ReactNode | null | undefined} field - The value to display
14
+ * @param {string | number} [placeholder='-'] - Fallback shown when field is empty/null/undefined
15
+ * @returns {string | number | ReactNode} The field value or the placeholder
16
+ */
17
+ export declare const displayField: (field: string | number | ReactNode | null | undefined, placeholder?: string | number) => string | number | ReactNode;
18
+ //# sourceMappingURL=displayField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"displayField.d.ts","sourceRoot":"","sources":["../../../../src/react/utils/displayField.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,YAAY,GACvB,OAAO,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,EACrD,cAAa,MAAM,GAAG,MAAY,KACjC,MAAM,GAAG,MAAM,GAAG,SAUpB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { clsx } from './clsx.js';
2
+ export type { ClassValue, ClassDictionary, ClassArray } from './clsx.js';
3
+ export { createContext } from './createContext.js';
4
+ export { displayField } from './displayField.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/react/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Converts a string to camelCase.
3
+ * Handles spaces, hyphens, underscores, and mixed casing.
4
+ *
5
+ * @example
6
+ * camelCase('hello world') // 'helloWorld'
7
+ * camelCase('foo-bar-baz') // 'fooBarBaz'
8
+ * camelCase('FOO_BAR') // 'fooBar'
9
+ * camelCase('some-Mixed_string') // 'someMixedString'
10
+ * camelCase('') // ''
11
+ *
12
+ * @param str - String to convert
13
+ * @returns camelCase string
14
+ */
15
+ export declare function camelCase(str: string): string;
16
+ //# sourceMappingURL=camelCase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"camelCase.d.ts","sourceRoot":"","sources":["../../../src/string/camelCase.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAS7C"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Capitalizes the first letter of a string.
3
+ *
4
+ * @example
5
+ * capitalize('hello') // 'Hello'
6
+ *
7
+ * @param str - String to capitalize
8
+ * @returns Capitalized string
9
+ */
10
+ export declare function capitalize(str: string): string;
11
+ //# sourceMappingURL=capitalize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capitalize.d.ts","sourceRoot":"","sources":["../../../src/string/capitalize.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG9C"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Removes diacritical marks (accents) from a string by converting to ASCII equivalents.
3
+ *
4
+ * @example
5
+ * deburr('café') // 'cafe'
6
+ * deburr('Crème brûlée') // 'Creme brulee'
7
+ * deburr('München') // 'Munchen'
8
+ * deburr('hello') // 'hello'
9
+ *
10
+ * @param str - String to deburr
11
+ * @returns ASCII-safe string
12
+ */
13
+ export declare function deburr(str: string): string;
14
+ //# sourceMappingURL=deburr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deburr.d.ts","sourceRoot":"","sources":["../../../src/string/deburr.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAI1C"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Escapes HTML special characters to prevent XSS attacks.
3
+ * Converts &, <, >, ", ' to their HTML entity equivalents.
4
+ *
5
+ * @example
6
+ * escapeHtml('<script>alert("xss")</script>')
7
+ * // '&lt;script&gt;alert(&quot;xss&quot;)&lt;/script&gt;'
8
+ *
9
+ * @example
10
+ * escapeHtml("it's a <b>test</b> & more")
11
+ * // "it&#39;s a &lt;b&gt;test&lt;/b&gt; &amp; more"
12
+ *
13
+ * @param str - String to escape
14
+ * @returns Escaped string safe for HTML insertion
15
+ */
16
+ export declare function escapeHtml(str: string): string;
17
+ //# sourceMappingURL=escapeHtml.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"escapeHtml.d.ts","sourceRoot":"","sources":["../../../src/string/escapeHtml.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAY9C"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Escapes special regex characters in a string so it can be used in `new RegExp()`.
3
+ *
4
+ * @example
5
+ * escapeRegExp('hello.world') // 'hello\\.world'
6
+ * escapeRegExp('$100 (USD)') // '\\$100 \\(USD\\)'
7
+ * new RegExp(escapeRegExp(userInput)) // safe to use
8
+ *
9
+ * @param str - String to escape
10
+ * @returns Escaped string safe for RegExp construction
11
+ */
12
+ export declare function escapeRegExp(str: string): string;
13
+ //# sourceMappingURL=escapeRegExp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"escapeRegExp.d.ts","sourceRoot":"","sources":["../../../src/string/escapeRegExp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhD"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Formats a byte count into a human-readable string.
3
+ *
4
+ * @example
5
+ * formatBytes(0) // '0 B'
6
+ * formatBytes(1024) // '1 KB'
7
+ * formatBytes(1536, 1) // '1.5 KB'
8
+ * formatBytes(1073741824) // '1 GB'
9
+ * formatBytes(1234567890, 2) // '1.15 GB'
10
+ *
11
+ * @param bytes - Number of bytes
12
+ * @param decimals - Decimal places (default: 2)
13
+ * @returns Formatted string (e.g., '1.5 MB')
14
+ */
15
+ export declare function formatBytes(bytes: number, decimals?: number): string;
16
+ //# sourceMappingURL=formatBytes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatBytes.d.ts","sourceRoot":"","sources":["../../../src/string/formatBytes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,MAAM,CAOvE"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Formats milliseconds into a human-readable duration string.
3
+ *
4
+ * @example
5
+ * formatDuration(0) // '0s'
6
+ * formatDuration(5000) // '5s'
7
+ * formatDuration(65000) // '1m 5s'
8
+ * formatDuration(3661000) // '1h 1m 1s'
9
+ * formatDuration(90061000) // '1d 1h 1m 1s'
10
+ *
11
+ * @param ms - Duration in milliseconds
12
+ * @returns Human-readable duration string
13
+ */
14
+ export declare function formatDuration(ms: number): string;
15
+ //# sourceMappingURL=formatDuration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatDuration.d.ts","sourceRoot":"","sources":["../../../src/string/formatDuration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAejD"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Formats a number or numeric string by adding thousands separators
3
+ * according to the specified locale.
4
+ *
5
+ * If the value is not a number, returns the original string.
6
+ *
7
+ * @param {number | string} number - Number or string to format.
8
+ * @param {string} [locale='en-US'] - Locale for formatting (e.g., 'en-US', 'ru-RU').
9
+ * @returns {string} Formatted string with thousands separators or original value if not a number.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * formatNumber(1234567); // "1,234,567"
14
+ * formatNumber(1234567, 'ru-RU'); // "1 234 567"
15
+ * formatNumber("987654321"); // "987,654,321"
16
+ * formatNumber("abc"); // "abc"
17
+ * ```
18
+ */
19
+ export declare const formatNumber: (number: number | string, locale?: string) => string;
20
+ //# sourceMappingURL=formatNumber.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatNumber.d.ts","sourceRoot":"","sources":["../../../src/string/formatNumber.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,YAAY,GACvB,QAAQ,MAAM,GAAG,MAAM,EACvB,SAAQ,MAAgB,KACvB,MAQF,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Converts an HTML string into plain text by removing all HTML tags,
3
+ * normalizing whitespace, and trimming extra spaces.
4
+ *
5
+ * If the input is empty or falsy, returns an empty string.
6
+ *
7
+ * @param {string} html - The HTML string to convert.
8
+ * @returns {string} The plain text result.
9
+ *
10
+ * @example
11
+ * const html = `
12
+ * <h1>Добро пожаловать в <b>MBank</b></h1>
13
+ * <p>Первый цифровой <a href="https://mbank.example">банк</a> в стране.</p>
14
+ * <ul>
15
+ * <li>Онлайн-операции</li>
16
+ * <li>Мобильное приложение</li>
17
+ * <li>Безопасные переводы</li>
18
+ * </ul>
19
+ * `;
20
+ *
21
+ * const text = htmlToText(html);
22
+ * console.log(text);
23
+ * // Output:
24
+ * // "Добро пожаловать в MBank Первый цифровой банк в стране. Онлайн-операции Мобильное приложение Безопасные переводы"
25
+ *
26
+
27
+ */
28
+ export declare function htmlToText(html: string): string;
29
+ //# sourceMappingURL=htmlToText.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"htmlToText.d.ts","sourceRoot":"","sources":["../../../src/string/htmlToText.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO/C"}
@@ -0,0 +1,20 @@
1
+ export { capitalize } from './capitalize.js';
2
+ export { camelCase } from './camelCase.js';
3
+ export { deburr } from './deburr.js';
4
+ export { escapeHtml } from './escapeHtml.js';
5
+ export { escapeRegExp } from './escapeRegExp.js';
6
+ export { formatBytes } from './formatBytes.js';
7
+ export { formatDuration } from './formatDuration.js';
8
+ export { formatNumber } from './formatNumber.js';
9
+ export { htmlToText } from './htmlToText.js';
10
+ export { kebabCase } from './kebabCase.js';
11
+ export { maskString } from './maskString.js';
12
+ export { pascalCase } from './pascalCase.js';
13
+ export { pluralize } from './pluralize.js';
14
+ export { slugify } from './slugify.js';
15
+ export { snakeCase } from './snakeCase.js';
16
+ export { startCase } from './startCase.js';
17
+ export { template } from './template.js';
18
+ export { truncateString } from './truncateString.js';
19
+ export { words } from './words.js';
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/string/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Converts a string to kebab-case.
3
+ * Handles spaces, underscores, camelCase, and PascalCase.
4
+ *
5
+ * @example
6
+ * kebabCase('helloWorld') // 'hello-world'
7
+ * kebabCase('FOO_BAR') // 'foo-bar'
8
+ * kebabCase('some string here') // 'some-string-here'
9
+ * kebabCase('PascalCase') // 'pascal-case'
10
+ * kebabCase('') // ''
11
+ *
12
+ * @param str - String to convert
13
+ * @returns kebab-case string
14
+ */
15
+ export declare function kebabCase(str: string): string;
16
+ //# sourceMappingURL=kebabCase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kebabCase.d.ts","sourceRoot":"","sources":["../../../src/string/kebabCase.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Masks a portion of a string, revealing only start and end characters.
3
+ * Useful for credit cards, phone numbers, emails, API keys.
4
+ *
5
+ * @example
6
+ * maskString('1234567890', 4, 2) // '1234****90'
7
+ * maskString('hello@example.com', 2, 4) // 'he***********e.com'
8
+ * maskString('secret', 0, 0) // '******'
9
+ * maskString('ab', 1, 1, '#') // 'ab' (nothing to mask)
10
+ *
11
+ * @param str - String to mask
12
+ * @param visibleStart - Number of visible chars at start
13
+ * @param visibleEnd - Number of visible chars at end
14
+ * @param maskChar - Character used for masking (default: '*')
15
+ * @returns Masked string
16
+ */
17
+ export declare function maskString(str: string, visibleStart: number, visibleEnd: number, maskChar?: string): string;
18
+ //# sourceMappingURL=maskString.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maskString.d.ts","sourceRoot":"","sources":["../../../src/string/maskString.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,QAAQ,GAAE,MAAY,GACrB,MAAM,CAMR"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Converts a string to PascalCase.
3
+ *
4
+ * @example
5
+ * pascalCase('hello world') // 'HelloWorld'
6
+ * pascalCase('foo-bar-baz') // 'FooBarBaz'
7
+ * pascalCase('some_snake_case') // 'SomeSnakeCase'
8
+ * pascalCase('') // ''
9
+ *
10
+ * @param str - String to convert
11
+ * @returns PascalCase string
12
+ */
13
+ export declare function pascalCase(str: string): string;
14
+ //# sourceMappingURL=pascalCase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pascalCase.d.ts","sourceRoot":"","sources":["../../../src/string/pascalCase.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAI9C"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Returns singular or plural form based on count.
3
+ *
4
+ * @example
5
+ * pluralize(0, 'item') // '0 items'
6
+ * pluralize(1, 'item') // '1 item'
7
+ * pluralize(5, 'item') // '5 items'
8
+ * pluralize(2, 'child', 'children') // '2 children'
9
+ * pluralize(1, 'person', 'people') // '1 person'
10
+ *
11
+ * @param count - The number
12
+ * @param singular - Singular form
13
+ * @param plural - Plural form (default: singular + 's')
14
+ * @returns Formatted count + word
15
+ */
16
+ export declare function pluralize(count: number, singular: string, plural?: string): string;
17
+ //# sourceMappingURL=pluralize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pluralize.d.ts","sourceRoot":"","sources":["../../../src/string/pluralize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAGlF"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Converts a string to a URL-friendly slug.
3
+ * Lowercases, replaces non-alphanumeric chars with hyphens, trims hyphens.
4
+ *
5
+ * @example
6
+ * slugify('Hello World!') // 'hello-world'
7
+ * slugify(' Crème Brûlée ') // 'cr-me-br-l-e'
8
+ * slugify('foo---bar') // 'foo-bar'
9
+ * slugify('') // ''
10
+ *
11
+ * @param str - String to slugify
12
+ * @returns URL-safe slug
13
+ */
14
+ export declare function slugify(str: string): string;
15
+ //# sourceMappingURL=slugify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slugify.d.ts","sourceRoot":"","sources":["../../../src/string/slugify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO3C"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Converts a string to snake_case.
3
+ * Handles spaces, hyphens, camelCase, and PascalCase.
4
+ *
5
+ * @example
6
+ * snakeCase('helloWorld') // 'hello_world'
7
+ * snakeCase('foo-bar-baz') // 'foo_bar_baz'
8
+ * snakeCase('Some String Here') // 'some_string_here'
9
+ * snakeCase('PascalCase') // 'pascal_case'
10
+ * snakeCase('') // ''
11
+ *
12
+ * @param str - String to convert
13
+ * @returns snake_case string
14
+ */
15
+ export declare function snakeCase(str: string): string;
16
+ //# sourceMappingURL=snakeCase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snakeCase.d.ts","sourceRoot":"","sources":["../../../src/string/snakeCase.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Converts a string to Start Case (each word capitalized, separated by spaces).
3
+ *
4
+ * @example
5
+ * startCase('hello world') // 'Hello World'
6
+ * startCase('fooBarBaz') // 'Foo Bar Baz'
7
+ * startCase('some_snake_case') // 'Some Snake Case'
8
+ * startCase('') // ''
9
+ *
10
+ * @param str - String to convert
11
+ * @returns Start Case string
12
+ */
13
+ export declare function startCase(str: string): string;
14
+ //# sourceMappingURL=startCase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startCase.d.ts","sourceRoot":"","sources":["../../../src/string/startCase.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAI7C"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Simple string template interpolation using `{{key}}` placeholders.
3
+ *
4
+ * @example
5
+ * template('Hello, {{name}}!', { name: 'World' }) // 'Hello, World!'
6
+ * template('{{a}} + {{b}} = {{c}}', { a: 1, b: 2, c: 3 }) // '1 + 2 = 3'
7
+ * template('Hi <name>', { name: 'Ray' }, /<(.+?)>/g) // 'Hi Ray'
8
+ *
9
+ * @param str - Template string
10
+ * @param data - Object with replacement values
11
+ * @param regex - Custom pattern (default: /\{\{(.+?)\}\}/g)
12
+ * @returns Interpolated string
13
+ */
14
+ export declare function template(str: string, data: Record<string, any>, regex?: RegExp): string;
15
+ //# sourceMappingURL=template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../../src/string/template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CACtB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,KAAK,GAAE,MAAyB,GAC/B,MAAM,CAKR"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Truncates a string to a specified maximum length and adds an ellipsis (`...`) if truncated.
3
+ *
4
+ * @example
5
+ * truncateString("Hello, world!", 5) // "Hello..."
6
+ * truncateString("Short", 10) // "Short"
7
+ *
8
+ * @param str - The string to truncate
9
+ * @param maxLength - Maximum length of the returned string
10
+ * @returns The truncated string with ellipsis if needed, otherwise the original string
11
+ */
12
+ export declare function truncateString(str: string, maxLength: number): string;
13
+ //# sourceMappingURL=truncateString.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"truncateString.d.ts","sourceRoot":"","sources":["../../../src/string/truncateString.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAKrE"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Splits a string into an array of words.
3
+ * Handles spaces, hyphens, underscores, camelCase, and PascalCase boundaries.
4
+ *
5
+ * @example
6
+ * words('helloWorld') // ['hello', 'world']
7
+ * words('foo-bar_baz') // ['foo', 'bar', 'baz']
8
+ * words('FOO_BAR') // ['foo', 'bar']
9
+ * words('PascalCase') // ['pascal', 'case']
10
+ * words('') // []
11
+ *
12
+ * @param str - String to split
13
+ * @returns Array of lowercase words
14
+ */
15
+ export declare function words(str: string): string[];
16
+ //# sourceMappingURL=words.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"words.d.ts","sourceRoot":"","sources":["../../../src/string/words.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAU3C"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Core TypeScript utility types
3
+ */
4
+ /** A predicate function that returns a boolean */
5
+ export type Predicate<T> = (value: T) => boolean;
6
+ /** A function that transforms a value from type T to type U */
7
+ export type Transformer<T, U> = (value: T) => U;
8
+ /** A comparator function for sorting */
9
+ export type Comparator<T> = (a: T, b: T) => number;
10
+ /** A reducer function that accumulates a value */
11
+ export type Reducer<T, U> = (accumulator: U, value: T) => U;
12
+ /** Curried function with 2 parameters */
13
+ export type Curried2<A, B, R> = {
14
+ (a: A): (b: B) => R;
15
+ (a: A, b: B): R;
16
+ };
17
+ /** Curried function with 3 parameters */
18
+ export type Curried3<A, B, C, R> = {
19
+ (a: A): Curried2<B, C, R>;
20
+ (a: A, b: B): (c: C) => R;
21
+ (a: A, b: B, c: C): R;
22
+ };
23
+ /** Curried function with 4 parameters */
24
+ export type Curried4<A, B, C, D, R> = {
25
+ (a: A): Curried3<B, C, D, R>;
26
+ (a: A, b: B): Curried2<C, D, R>;
27
+ (a: A, b: B, c: C): (d: D) => R;
28
+ (a: A, b: B, c: C, d: D): R;
29
+ };
30
+ /** Deep readonly type — makes all nested properties readonly */
31
+ export type DeepReadonly<T> = {
32
+ readonly [P in keyof T]: T[P] extends object ? DeepReadonly<T[P]> : T[P];
33
+ };
34
+ /** Deep partial type — makes all nested properties optional */
35
+ export type DeepPartial<T> = {
36
+ [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
37
+ };
38
+ /** Nullish type helper */
39
+ export type Nullish = null | undefined;
40
+ /** Make specific keys required */
41
+ export type RequireKeys<T, K extends keyof T> = T & Required<Pick<T, K>>;
42
+ /** Make specific keys optional */
43
+ export type OptionalKeys<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
44
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,kDAAkD;AAClD,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC;AAEjD,+DAA+D;AAC/D,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AAEhD,wCAAwC;AACxC,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC;AAEnD,kDAAkD;AAClD,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AAE5D,yCAAyC;AACzC,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI;IAC9B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;CACjB,CAAC;AAEF,yCAAyC;AACzC,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI;IACjC,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;CACvB,CAAC;AAEF,yCAAyC;AACzC,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI;IACpC,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;CAC7B,CAAC;AAEF,gEAAgE;AAChE,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;IAC5B,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACzE,CAAC;AAEF,+DAA+D;AAC/D,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;KAC1B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAChE,CAAC;AAEF,0BAA0B;AAC1B,MAAM,MAAM,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAEvC,kCAAkC;AAClC,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEzE,kCAAkC;AAClC,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Validation utilities for file handling and data validation
3
+ */
4
+ export { validateFileSize } from './validateFileSizeByType.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/validation/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Validates the size of a file based on its type/category.
3
+ * Returns an object indicating whether the file is valid and an optional error message.
4
+ *
5
+ * By default, supports three categories: 'image', 'video', 'document'.
6
+ * You can provide a custom category resolver to extend support for other types.
7
+ *
8
+ * @param {File} file - The file to validate.
9
+ * @param {Record<string, number>} sizeLimits - Maximum allowed sizes for each category in MB.
10
+ * @param {(file: File) => string} [resolveCategory] - Optional function to determine the file's category.
11
+ * @returns {{ isValid: boolean; errorMessage?: string }} Result of the validation.
12
+ *
13
+ * @example
14
+ * const sizeLimits = { image: 5, video: 50, document: 10 };
15
+ * const result = validateFileSize(fileInput.files[0], sizeLimits);
16
+ * if (!result.isValid) {
17
+ * console.error(result.errorMessage);
18
+ * }
19
+ *
20
+ * @example
21
+ * // Custom category resolver
22
+ * const result = validateFileSize(file, { audio: 10, other: 5 }, file => {
23
+ * if (file.type.startsWith('audio/')) return 'audio';
24
+ * return 'other';
25
+ * });
26
+ */
27
+ export declare function validateFileSize(file: File, sizeLimits: Record<string, number>, resolveCategory?: (file: File) => string, error?: string): {
28
+ isValid: boolean;
29
+ errorMessage?: string;
30
+ size?: string;
31
+ };
32
+ //# sourceMappingURL=validateFileSizeByType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateFileSizeByType.d.ts","sourceRoot":"","sources":["../../../src/validation/validateFileSizeByType.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,EACxC,KAAK,CAAC,EAAE,MAAM,GACb;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAwB5D"}