@tanwan/utils 1.1.0 → 1.2.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 (452) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/addClass.cjs +19 -0
  3. package/dist/addClass.d.cts +16 -0
  4. package/dist/addClass.d.ts +17 -0
  5. package/dist/addClass.js +19 -0
  6. package/dist/{string/camelCase.d.cts → camelCase.d.cts} +1 -2
  7. package/dist/{string/camelCase.d.ts → camelCase.d.ts} +1 -2
  8. package/dist/{string/camelCase.js → camelCase.js} +0 -2
  9. package/dist/{string/capitalize.d.cts → capitalize.d.cts} +1 -2
  10. package/dist/{string/capitalize.d.ts → capitalize.d.ts} +1 -2
  11. package/dist/{string/capitalize.js → capitalize.js} +0 -2
  12. package/dist/{array/chunk.d.cts → chunk.d.cts} +1 -2
  13. package/dist/{array/chunk.d.ts → chunk.d.ts} +1 -2
  14. package/dist/{array/chunk.js → chunk.js} +0 -2
  15. package/dist/{number/clamp.d.cts → clamp.d.cts} +1 -2
  16. package/dist/{number/clamp.d.ts → clamp.d.ts} +1 -2
  17. package/dist/{number/clamp.js → clamp.js} +0 -2
  18. package/dist/convertCurrencyToChinese.cjs +56 -0
  19. package/dist/convertCurrencyToChinese.d.cts +18 -0
  20. package/dist/convertCurrencyToChinese.d.ts +19 -0
  21. package/dist/convertCurrencyToChinese.js +56 -0
  22. package/dist/copyToClipboard.cjs +38 -0
  23. package/dist/copyToClipboard.d.cts +17 -0
  24. package/dist/copyToClipboard.d.ts +18 -0
  25. package/dist/copyToClipboard.js +38 -0
  26. package/dist/createElement.cjs +27 -0
  27. package/dist/createElement.d.cts +21 -0
  28. package/dist/createElement.d.ts +22 -0
  29. package/dist/createElement.js +27 -0
  30. package/dist/{function/debounce.d.cts → debounce.d.cts} +1 -2
  31. package/dist/{function/debounce.d.ts → debounce.d.ts} +1 -2
  32. package/dist/{function/debounce.js → debounce.js} +0 -2
  33. package/dist/debounceSubmit.cjs +34 -0
  34. package/dist/debounceSubmit.d.cts +22 -0
  35. package/dist/debounceSubmit.d.ts +23 -0
  36. package/dist/debounceSubmit.js +34 -0
  37. package/dist/decodeBase64.cjs +19 -0
  38. package/dist/decodeBase64.d.cts +16 -0
  39. package/dist/decodeBase64.d.ts +17 -0
  40. package/dist/decodeBase64.js +19 -0
  41. package/dist/{base/deepClone.cjs → deepClone.cjs} +2 -2
  42. package/dist/{base/deepClone.d.cts → deepClone.d.cts} +1 -2
  43. package/dist/{base/deepClone.d.ts → deepClone.d.ts} +1 -2
  44. package/dist/{base/deepClone.js → deepClone.js} +0 -2
  45. package/dist/deepMerge.cjs +39 -0
  46. package/dist/deepMerge.d.cts +25 -0
  47. package/dist/deepMerge.d.ts +26 -0
  48. package/dist/deepMerge.js +39 -0
  49. package/dist/{function/delay.d.cts → delay.d.cts} +1 -2
  50. package/dist/{function/delay.d.ts → delay.d.ts} +1 -2
  51. package/dist/{function/delay.js → delay.js} +0 -2
  52. package/dist/difference.cjs +24 -0
  53. package/dist/difference.d.cts +20 -0
  54. package/dist/difference.d.ts +21 -0
  55. package/dist/difference.js +24 -0
  56. package/dist/downloadFile.cjs +31 -0
  57. package/dist/downloadFile.d.cts +20 -0
  58. package/dist/downloadFile.d.ts +21 -0
  59. package/dist/downloadFile.js +31 -0
  60. package/dist/encodeBase64.cjs +20 -0
  61. package/dist/encodeBase64.d.cts +17 -0
  62. package/dist/encodeBase64.d.ts +18 -0
  63. package/dist/encodeBase64.js +20 -0
  64. package/dist/{array/flatten.d.cts → flatten.d.cts} +1 -2
  65. package/dist/{array/flatten.d.ts → flatten.d.ts} +1 -2
  66. package/dist/{array/flatten.js → flatten.js} +0 -2
  67. package/dist/formatBankCard.cjs +19 -0
  68. package/dist/formatBankCard.d.cts +16 -0
  69. package/dist/formatBankCard.d.ts +17 -0
  70. package/dist/formatBankCard.js +19 -0
  71. package/dist/formatCurrency.cjs +7 -0
  72. package/dist/formatCurrency.d.cts +27 -0
  73. package/dist/formatCurrency.d.ts +28 -0
  74. package/dist/formatCurrency.js +7 -0
  75. package/dist/{date/formatDate.d.cts → formatDate.d.cts} +1 -2
  76. package/dist/{date/formatDate.d.ts → formatDate.d.ts} +1 -2
  77. package/dist/{date/formatDate.js → formatDate.js} +0 -2
  78. package/dist/formatFileSize.cjs +33 -0
  79. package/dist/formatFileSize.d.cts +19 -0
  80. package/dist/formatFileSize.d.ts +20 -0
  81. package/dist/formatFileSize.js +33 -0
  82. package/dist/formatIdCard.cjs +21 -0
  83. package/dist/formatIdCard.d.cts +17 -0
  84. package/dist/formatIdCard.d.ts +18 -0
  85. package/dist/formatIdCard.js +21 -0
  86. package/dist/formatPhone.cjs +21 -0
  87. package/dist/formatPhone.d.cts +17 -0
  88. package/dist/formatPhone.d.ts +18 -0
  89. package/dist/formatPhone.js +21 -0
  90. package/dist/{number/formatThousands.d.cts → formatThousands.d.cts} +1 -2
  91. package/dist/{number/formatThousands.d.ts → formatThousands.d.ts} +1 -2
  92. package/dist/{number/formatThousands.js → formatThousands.js} +0 -2
  93. package/dist/generateCode.cjs +29 -0
  94. package/dist/generateCode.d.cts +19 -0
  95. package/dist/generateCode.d.ts +20 -0
  96. package/dist/generateCode.js +29 -0
  97. package/dist/getAge.cjs +30 -0
  98. package/dist/getAge.d.cts +18 -0
  99. package/dist/getAge.d.ts +19 -0
  100. package/dist/getAge.js +30 -0
  101. package/dist/getByPath.cjs +29 -0
  102. package/dist/getByPath.d.cts +20 -0
  103. package/dist/getByPath.d.ts +21 -0
  104. package/dist/getByPath.js +29 -0
  105. package/dist/getCssVar.cjs +22 -0
  106. package/dist/getCssVar.d.cts +18 -0
  107. package/dist/getCssVar.d.ts +19 -0
  108. package/dist/getCssVar.js +22 -0
  109. package/dist/{date/getRelativeTime.d.cts → getRelativeTime.d.cts} +1 -2
  110. package/dist/{date/getRelativeTime.d.ts → getRelativeTime.d.ts} +1 -2
  111. package/dist/{date/getRelativeTime.js → getRelativeTime.js} +0 -2
  112. package/dist/getScrollTop.cjs +28 -0
  113. package/dist/getScrollTop.d.cts +18 -0
  114. package/dist/getScrollTop.d.ts +19 -0
  115. package/dist/getScrollTop.js +28 -0
  116. package/dist/getStorage.cjs +27 -0
  117. package/dist/getStorage.d.cts +18 -0
  118. package/dist/getStorage.d.ts +19 -0
  119. package/dist/getStorage.js +27 -0
  120. package/dist/getStyle.cjs +20 -0
  121. package/dist/getStyle.d.cts +17 -0
  122. package/dist/getStyle.d.ts +18 -0
  123. package/dist/getStyle.js +20 -0
  124. package/dist/getTextWidth.cjs +26 -0
  125. package/dist/getTextWidth.d.cts +16 -0
  126. package/dist/getTextWidth.d.ts +17 -0
  127. package/dist/getTextWidth.js +26 -0
  128. package/dist/{array/groupBy.d.cts → groupBy.d.cts} +1 -2
  129. package/dist/{array/groupBy.d.ts → groupBy.d.ts} +1 -2
  130. package/dist/{array/groupBy.js → groupBy.js} +0 -2
  131. package/dist/hasClass.cjs +19 -0
  132. package/dist/hasClass.d.cts +16 -0
  133. package/dist/hasClass.d.ts +17 -0
  134. package/dist/hasClass.js +19 -0
  135. package/dist/index.cjs +180 -54
  136. package/dist/index.d.cts +91 -28
  137. package/dist/index.d.ts +91 -28
  138. package/dist/index.iife.js +1 -1
  139. package/dist/index.js +91 -28
  140. package/dist/insertAfter.cjs +19 -0
  141. package/dist/insertAfter.d.cts +15 -0
  142. package/dist/insertAfter.d.ts +16 -0
  143. package/dist/insertAfter.js +19 -0
  144. package/dist/intersection.cjs +24 -0
  145. package/dist/intersection.d.cts +20 -0
  146. package/dist/intersection.d.ts +21 -0
  147. package/dist/intersection.js +24 -0
  148. package/dist/invert.cjs +21 -0
  149. package/dist/invert.d.cts +16 -0
  150. package/dist/invert.d.ts +17 -0
  151. package/dist/invert.js +21 -0
  152. package/dist/{base/isArray.d.cts → isArray.d.cts} +1 -2
  153. package/dist/{base/isArray.d.ts → isArray.d.ts} +1 -2
  154. package/dist/{base/isArray.js → isArray.js} +0 -2
  155. package/dist/isBrowser.cjs +17 -0
  156. package/dist/isBrowser.d.cts +14 -0
  157. package/dist/isBrowser.d.ts +15 -0
  158. package/dist/isBrowser.js +17 -0
  159. package/dist/isDate.cjs +18 -0
  160. package/dist/isDate.d.cts +15 -0
  161. package/dist/isDate.d.ts +16 -0
  162. package/dist/isDate.js +18 -0
  163. package/dist/{base/isEmpty.cjs → isEmpty.cjs} +2 -2
  164. package/dist/{base/isEmpty.d.cts → isEmpty.d.cts} +1 -2
  165. package/dist/{base/isEmpty.d.ts → isEmpty.d.ts} +1 -2
  166. package/dist/{base/isEmpty.js → isEmpty.js} +0 -2
  167. package/dist/isFunction.cjs +19 -0
  168. package/dist/isFunction.d.cts +16 -0
  169. package/dist/isFunction.d.ts +17 -0
  170. package/dist/isFunction.js +19 -0
  171. package/dist/isInViewport.cjs +22 -0
  172. package/dist/isInViewport.d.cts +17 -0
  173. package/dist/isInViewport.d.ts +18 -0
  174. package/dist/isInViewport.js +22 -0
  175. package/dist/isNil.cjs +19 -0
  176. package/dist/isNil.d.cts +16 -0
  177. package/dist/isNil.d.ts +17 -0
  178. package/dist/isNil.js +19 -0
  179. package/dist/isNumber.cjs +19 -0
  180. package/dist/isNumber.d.cts +16 -0
  181. package/dist/isNumber.d.ts +17 -0
  182. package/dist/isNumber.js +19 -0
  183. package/dist/{base/isObject.d.cts → isObject.d.cts} +1 -2
  184. package/dist/{base/isObject.d.ts → isObject.d.ts} +1 -2
  185. package/dist/{base/isObject.js → isObject.js} +0 -2
  186. package/dist/isPrimitive.cjs +21 -0
  187. package/dist/isPrimitive.d.cts +18 -0
  188. package/dist/isPrimitive.d.ts +19 -0
  189. package/dist/isPrimitive.js +21 -0
  190. package/dist/isPromise.cjs +18 -0
  191. package/dist/isPromise.d.cts +15 -0
  192. package/dist/isPromise.d.ts +16 -0
  193. package/dist/isPromise.js +18 -0
  194. package/dist/{base/isString.d.cts → isString.d.cts} +1 -2
  195. package/dist/{base/isString.d.ts → isString.d.ts} +1 -2
  196. package/dist/{base/isString.js → isString.js} +0 -2
  197. package/dist/joinUrl.cjs +25 -0
  198. package/dist/joinUrl.d.cts +19 -0
  199. package/dist/joinUrl.d.ts +20 -0
  200. package/dist/joinUrl.js +25 -0
  201. package/dist/{string/kebabCase.d.cts → kebabCase.d.cts} +1 -2
  202. package/dist/{string/kebabCase.d.ts → kebabCase.d.ts} +1 -2
  203. package/dist/{string/kebabCase.js → kebabCase.js} +0 -2
  204. package/dist/lazyLoadImages.cjs +36 -0
  205. package/dist/lazyLoadImages.d.cts +19 -0
  206. package/dist/lazyLoadImages.d.ts +20 -0
  207. package/dist/lazyLoadImages.js +36 -0
  208. package/dist/listToTree.cjs +25 -0
  209. package/dist/listToTree.d.cts +32 -0
  210. package/dist/listToTree.d.ts +33 -0
  211. package/dist/listToTree.js +25 -0
  212. package/dist/mapValues.cjs +25 -0
  213. package/dist/mapValues.d.cts +20 -0
  214. package/dist/mapValues.d.ts +21 -0
  215. package/dist/mapValues.js +25 -0
  216. package/dist/maskString.cjs +28 -0
  217. package/dist/maskString.d.cts +24 -0
  218. package/dist/maskString.d.ts +25 -0
  219. package/dist/maskString.js +28 -0
  220. package/dist/memoize.cjs +32 -0
  221. package/dist/memoize.d.cts +22 -0
  222. package/dist/memoize.d.ts +23 -0
  223. package/dist/memoize.js +32 -0
  224. package/dist/off.cjs +22 -0
  225. package/dist/off.d.cts +19 -0
  226. package/dist/off.d.ts +20 -0
  227. package/dist/off.js +22 -0
  228. package/dist/{object/omit.d.cts → omit.d.cts} +1 -2
  229. package/dist/{object/omit.d.ts → omit.d.ts} +1 -2
  230. package/dist/{object/omit.js → omit.js} +0 -2
  231. package/dist/on.cjs +21 -0
  232. package/dist/on.d.cts +18 -0
  233. package/dist/on.d.ts +19 -0
  234. package/dist/on.js +21 -0
  235. package/dist/once.cjs +31 -0
  236. package/dist/once.d.cts +20 -0
  237. package/dist/once.d.ts +21 -0
  238. package/dist/once.js +31 -0
  239. package/dist/{url/parseQueryString.d.cts → parseQueryString.d.cts} +1 -2
  240. package/dist/{url/parseQueryString.d.ts → parseQueryString.d.ts} +1 -2
  241. package/dist/{url/parseQueryString.js → parseQueryString.js} +0 -2
  242. package/dist/pascalCase.cjs +18 -0
  243. package/dist/pascalCase.d.cts +15 -0
  244. package/dist/pascalCase.d.ts +16 -0
  245. package/dist/pascalCase.js +18 -0
  246. package/dist/{object/pick.d.cts → pick.d.cts} +1 -2
  247. package/dist/{object/pick.d.ts → pick.d.ts} +1 -2
  248. package/dist/{object/pick.js → pick.js} +0 -2
  249. package/dist/{number/randomInt.d.cts → randomInt.d.cts} +1 -2
  250. package/dist/{number/randomInt.d.ts → randomInt.d.ts} +1 -2
  251. package/dist/{number/randomInt.js → randomInt.js} +0 -2
  252. package/dist/{array/range.d.cts → range.d.cts} +1 -2
  253. package/dist/{array/range.d.ts → range.d.ts} +1 -2
  254. package/dist/{array/range.js → range.js} +0 -2
  255. package/dist/removeClass.cjs +19 -0
  256. package/dist/removeClass.d.cts +16 -0
  257. package/dist/removeClass.d.ts +17 -0
  258. package/dist/removeClass.js +19 -0
  259. package/dist/removeElement.cjs +17 -0
  260. package/dist/removeElement.d.cts +14 -0
  261. package/dist/removeElement.d.ts +15 -0
  262. package/dist/removeElement.js +17 -0
  263. package/dist/removeStorage.cjs +19 -0
  264. package/dist/removeStorage.d.cts +14 -0
  265. package/dist/removeStorage.d.ts +15 -0
  266. package/dist/removeStorage.js +19 -0
  267. package/dist/retry.cjs +27 -0
  268. package/dist/retry.d.cts +17 -0
  269. package/dist/retry.d.ts +18 -0
  270. package/dist/retry.js +27 -0
  271. package/dist/sample.cjs +20 -0
  272. package/dist/sample.d.cts +16 -0
  273. package/dist/sample.d.ts +17 -0
  274. package/dist/sample.js +20 -0
  275. package/dist/scrollToElement.cjs +23 -0
  276. package/dist/scrollToElement.d.cts +16 -0
  277. package/dist/scrollToElement.d.ts +17 -0
  278. package/dist/scrollToElement.js +23 -0
  279. package/dist/setCssVar.cjs +22 -0
  280. package/dist/setCssVar.d.cts +18 -0
  281. package/dist/setCssVar.d.ts +19 -0
  282. package/dist/setCssVar.js +22 -0
  283. package/dist/setStorage.cjs +25 -0
  284. package/dist/setStorage.d.cts +17 -0
  285. package/dist/setStorage.d.ts +18 -0
  286. package/dist/setStorage.js +25 -0
  287. package/dist/setStyle.cjs +22 -0
  288. package/dist/setStyle.d.cts +19 -0
  289. package/dist/setStyle.d.ts +20 -0
  290. package/dist/setStyle.js +22 -0
  291. package/dist/{array/shuffle.d.cts → shuffle.d.cts} +1 -2
  292. package/dist/{array/shuffle.d.ts → shuffle.d.ts} +1 -2
  293. package/dist/{array/shuffle.js → shuffle.js} +0 -2
  294. package/dist/snakeCase.cjs +18 -0
  295. package/dist/snakeCase.d.cts +15 -0
  296. package/dist/snakeCase.d.ts +16 -0
  297. package/dist/snakeCase.js +18 -0
  298. package/dist/sortBy.cjs +30 -0
  299. package/dist/sortBy.d.cts +20 -0
  300. package/dist/sortBy.d.ts +21 -0
  301. package/dist/sortBy.js +30 -0
  302. package/dist/{url/stringifyQueryString.d.cts → stringifyQueryString.d.cts} +1 -2
  303. package/dist/{url/stringifyQueryString.d.ts → stringifyQueryString.d.ts} +1 -2
  304. package/dist/{url/stringifyQueryString.js → stringifyQueryString.js} +0 -2
  305. package/dist/{function/throttle.d.cts → throttle.d.cts} +1 -2
  306. package/dist/{function/throttle.d.ts → throttle.d.ts} +1 -2
  307. package/dist/{function/throttle.js → throttle.js} +0 -2
  308. package/dist/toggleClass.cjs +22 -0
  309. package/dist/toggleClass.d.cts +19 -0
  310. package/dist/toggleClass.d.ts +20 -0
  311. package/dist/toggleClass.js +22 -0
  312. package/dist/treeFind.cjs +34 -0
  313. package/dist/treeFind.d.cts +25 -0
  314. package/dist/treeFind.d.ts +26 -0
  315. package/dist/treeFind.js +34 -0
  316. package/dist/treeToList.cjs +33 -0
  317. package/dist/treeToList.d.cts +24 -0
  318. package/dist/treeToList.d.ts +25 -0
  319. package/dist/treeToList.js +33 -0
  320. package/dist/truncate.cjs +23 -0
  321. package/dist/truncate.d.cts +19 -0
  322. package/dist/truncate.d.ts +20 -0
  323. package/dist/truncate.js +23 -0
  324. package/dist/uniqBy.cjs +30 -0
  325. package/dist/uniqBy.d.cts +20 -0
  326. package/dist/uniqBy.d.ts +21 -0
  327. package/dist/uniqBy.js +30 -0
  328. package/dist/{array/unique.d.cts → unique.d.cts} +1 -2
  329. package/dist/{array/unique.d.ts → unique.d.ts} +1 -2
  330. package/dist/{array/unique.js → unique.js} +0 -2
  331. package/dist/{string/uuid.d.cts → uuid.d.cts} +1 -2
  332. package/dist/{string/uuid.d.ts → uuid.d.ts} +1 -2
  333. package/dist/{string/uuid.js → uuid.js} +0 -2
  334. package/dist/validateEmail.cjs +19 -0
  335. package/dist/validateEmail.d.cts +16 -0
  336. package/dist/validateEmail.d.ts +17 -0
  337. package/dist/validateEmail.js +19 -0
  338. package/dist/validateIdCard.cjs +62 -0
  339. package/dist/validateIdCard.d.cts +15 -0
  340. package/dist/validateIdCard.d.ts +16 -0
  341. package/dist/validateIdCard.js +62 -0
  342. package/dist/validatePhone.cjs +19 -0
  343. package/dist/validatePhone.d.cts +16 -0
  344. package/dist/validatePhone.d.ts +17 -0
  345. package/dist/validatePhone.js +19 -0
  346. package/package.json +340 -83
  347. package/dist/array/chunk.d.cts.map +0 -1
  348. package/dist/array/chunk.d.ts.map +0 -1
  349. package/dist/array/chunk.js.map +0 -1
  350. package/dist/array/flatten.d.cts.map +0 -1
  351. package/dist/array/flatten.d.ts.map +0 -1
  352. package/dist/array/flatten.js.map +0 -1
  353. package/dist/array/groupBy.d.cts.map +0 -1
  354. package/dist/array/groupBy.d.ts.map +0 -1
  355. package/dist/array/groupBy.js.map +0 -1
  356. package/dist/array/range.d.cts.map +0 -1
  357. package/dist/array/range.d.ts.map +0 -1
  358. package/dist/array/range.js.map +0 -1
  359. package/dist/array/shuffle.d.cts.map +0 -1
  360. package/dist/array/shuffle.d.ts.map +0 -1
  361. package/dist/array/shuffle.js.map +0 -1
  362. package/dist/array/unique.d.cts.map +0 -1
  363. package/dist/array/unique.d.ts.map +0 -1
  364. package/dist/array/unique.js.map +0 -1
  365. package/dist/base/deepClone.d.cts.map +0 -1
  366. package/dist/base/deepClone.d.ts.map +0 -1
  367. package/dist/base/deepClone.js.map +0 -1
  368. package/dist/base/isArray.d.cts.map +0 -1
  369. package/dist/base/isArray.d.ts.map +0 -1
  370. package/dist/base/isArray.js.map +0 -1
  371. package/dist/base/isEmpty.d.cts.map +0 -1
  372. package/dist/base/isEmpty.d.ts.map +0 -1
  373. package/dist/base/isEmpty.js.map +0 -1
  374. package/dist/base/isObject.d.cts.map +0 -1
  375. package/dist/base/isObject.d.ts.map +0 -1
  376. package/dist/base/isObject.js.map +0 -1
  377. package/dist/base/isString.d.cts.map +0 -1
  378. package/dist/base/isString.d.ts.map +0 -1
  379. package/dist/base/isString.js.map +0 -1
  380. package/dist/date/formatDate.d.cts.map +0 -1
  381. package/dist/date/formatDate.d.ts.map +0 -1
  382. package/dist/date/formatDate.js.map +0 -1
  383. package/dist/date/getRelativeTime.d.cts.map +0 -1
  384. package/dist/date/getRelativeTime.d.ts.map +0 -1
  385. package/dist/date/getRelativeTime.js.map +0 -1
  386. package/dist/function/debounce.d.cts.map +0 -1
  387. package/dist/function/debounce.d.ts.map +0 -1
  388. package/dist/function/debounce.js.map +0 -1
  389. package/dist/function/delay.d.cts.map +0 -1
  390. package/dist/function/delay.d.ts.map +0 -1
  391. package/dist/function/delay.js.map +0 -1
  392. package/dist/function/throttle.d.cts.map +0 -1
  393. package/dist/function/throttle.d.ts.map +0 -1
  394. package/dist/function/throttle.js.map +0 -1
  395. package/dist/number/clamp.d.cts.map +0 -1
  396. package/dist/number/clamp.d.ts.map +0 -1
  397. package/dist/number/clamp.js.map +0 -1
  398. package/dist/number/formatThousands.d.cts.map +0 -1
  399. package/dist/number/formatThousands.d.ts.map +0 -1
  400. package/dist/number/formatThousands.js.map +0 -1
  401. package/dist/number/randomInt.d.cts.map +0 -1
  402. package/dist/number/randomInt.d.ts.map +0 -1
  403. package/dist/number/randomInt.js.map +0 -1
  404. package/dist/object/omit.d.cts.map +0 -1
  405. package/dist/object/omit.d.ts.map +0 -1
  406. package/dist/object/omit.js.map +0 -1
  407. package/dist/object/pick.d.cts.map +0 -1
  408. package/dist/object/pick.d.ts.map +0 -1
  409. package/dist/object/pick.js.map +0 -1
  410. package/dist/string/camelCase.d.cts.map +0 -1
  411. package/dist/string/camelCase.d.ts.map +0 -1
  412. package/dist/string/camelCase.js.map +0 -1
  413. package/dist/string/capitalize.d.cts.map +0 -1
  414. package/dist/string/capitalize.d.ts.map +0 -1
  415. package/dist/string/capitalize.js.map +0 -1
  416. package/dist/string/kebabCase.d.cts.map +0 -1
  417. package/dist/string/kebabCase.d.ts.map +0 -1
  418. package/dist/string/kebabCase.js.map +0 -1
  419. package/dist/string/uuid.d.cts.map +0 -1
  420. package/dist/string/uuid.d.ts.map +0 -1
  421. package/dist/string/uuid.js.map +0 -1
  422. package/dist/url/parseQueryString.d.cts.map +0 -1
  423. package/dist/url/parseQueryString.d.ts.map +0 -1
  424. package/dist/url/parseQueryString.js.map +0 -1
  425. package/dist/url/stringifyQueryString.d.cts.map +0 -1
  426. package/dist/url/stringifyQueryString.d.ts.map +0 -1
  427. package/dist/url/stringifyQueryString.js.map +0 -1
  428. /package/dist/{string/camelCase.cjs → camelCase.cjs} +0 -0
  429. /package/dist/{string/capitalize.cjs → capitalize.cjs} +0 -0
  430. /package/dist/{array/chunk.cjs → chunk.cjs} +0 -0
  431. /package/dist/{number/clamp.cjs → clamp.cjs} +0 -0
  432. /package/dist/{function/debounce.cjs → debounce.cjs} +0 -0
  433. /package/dist/{function/delay.cjs → delay.cjs} +0 -0
  434. /package/dist/{array/flatten.cjs → flatten.cjs} +0 -0
  435. /package/dist/{date/formatDate.cjs → formatDate.cjs} +0 -0
  436. /package/dist/{number/formatThousands.cjs → formatThousands.cjs} +0 -0
  437. /package/dist/{date/getRelativeTime.cjs → getRelativeTime.cjs} +0 -0
  438. /package/dist/{array/groupBy.cjs → groupBy.cjs} +0 -0
  439. /package/dist/{base/isArray.cjs → isArray.cjs} +0 -0
  440. /package/dist/{base/isObject.cjs → isObject.cjs} +0 -0
  441. /package/dist/{base/isString.cjs → isString.cjs} +0 -0
  442. /package/dist/{string/kebabCase.cjs → kebabCase.cjs} +0 -0
  443. /package/dist/{object/omit.cjs → omit.cjs} +0 -0
  444. /package/dist/{url/parseQueryString.cjs → parseQueryString.cjs} +0 -0
  445. /package/dist/{object/pick.cjs → pick.cjs} +0 -0
  446. /package/dist/{number/randomInt.cjs → randomInt.cjs} +0 -0
  447. /package/dist/{array/range.cjs → range.cjs} +0 -0
  448. /package/dist/{array/shuffle.cjs → shuffle.cjs} +0 -0
  449. /package/dist/{url/stringifyQueryString.cjs → stringifyQueryString.cjs} +0 -0
  450. /package/dist/{function/throttle.cjs → throttle.cjs} +0 -0
  451. /package/dist/{array/unique.cjs → unique.cjs} +0 -0
  452. /package/dist/{string/uuid.cjs → uuid.cjs} +0 -0
@@ -0,0 +1,16 @@
1
+ //#region src/business/validateIdCard/index.d.ts
2
+ /**
3
+ * 校验身份证号码格式(含校验位算法)
4
+ *
5
+ * @param idCard - 18 位身份证号
6
+ * @returns 是否为合法身份证号
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * import validateIdCard from '@tanwan/utils/validateIdCard'
11
+ * validateIdCard('110101199001011234') // true(示例号,实际需按算法校验)
12
+ * ```
13
+ */
14
+ declare function validateIdCard(idCard: string): boolean;
15
+ //#endregion
16
+ export { validateIdCard as default };
@@ -0,0 +1,62 @@
1
+ //#region src/business/validateIdCard/index.ts
2
+ /**
3
+ * 校验身份证号码格式(含校验位算法)
4
+ *
5
+ * @param idCard - 18 位身份证号
6
+ * @returns 是否为合法身份证号
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * import validateIdCard from '@tanwan/utils/validateIdCard'
11
+ * validateIdCard('110101199001011234') // true(示例号,实际需按算法校验)
12
+ * ```
13
+ */
14
+ function validateIdCard(idCard) {
15
+ if (!/^\d{17}[\dXx]$/.test(idCard)) return false;
16
+ const provinceCode = idCard.substring(0, 2);
17
+ if (Number.parseInt(provinceCode) < 11 || Number.parseInt(provinceCode) > 82) return false;
18
+ const birth = idCard.substring(6, 14);
19
+ const year = Number.parseInt(birth.substring(0, 4));
20
+ const month = Number.parseInt(birth.substring(4, 6));
21
+ const day = Number.parseInt(birth.substring(6, 8));
22
+ if (year < 1900 || year > 2100) return false;
23
+ if (month < 1 || month > 12) return false;
24
+ if (day < 1 || day > 31) return false;
25
+ const weights = [
26
+ 7,
27
+ 9,
28
+ 10,
29
+ 5,
30
+ 8,
31
+ 4,
32
+ 2,
33
+ 1,
34
+ 6,
35
+ 3,
36
+ 7,
37
+ 9,
38
+ 10,
39
+ 5,
40
+ 8,
41
+ 4,
42
+ 2
43
+ ];
44
+ const checkCodes = [
45
+ "1",
46
+ "0",
47
+ "X",
48
+ "9",
49
+ "8",
50
+ "7",
51
+ "6",
52
+ "5",
53
+ "4",
54
+ "3",
55
+ "2"
56
+ ];
57
+ let sum = 0;
58
+ for (let i = 0; i < 17; i++) sum += Number.parseInt(idCard[i]) * weights[i];
59
+ return checkCodes[sum % 11] === idCard[17].toUpperCase();
60
+ }
61
+ //#endregion
62
+ export { validateIdCard as default };
@@ -0,0 +1,19 @@
1
+ //#region src/business/validatePhone/index.ts
2
+ /**
3
+ * 校验手机号格式
4
+ *
5
+ * @param phone - 待校验的手机号
6
+ * @returns 是否为合法手机号
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * import validatePhone from '@tanwan/utils/validatePhone'
11
+ * validatePhone('18812345678') // true
12
+ * validatePhone('12345678901') // false
13
+ * ```
14
+ */
15
+ function validatePhone(phone) {
16
+ return /^1[3-9]\d{9}$/.test(phone);
17
+ }
18
+ //#endregion
19
+ module.exports = validatePhone;
@@ -0,0 +1,16 @@
1
+ //#region src/business/validatePhone/index.d.ts
2
+ /**
3
+ * 校验手机号格式
4
+ *
5
+ * @param phone - 待校验的手机号
6
+ * @returns 是否为合法手机号
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * import validatePhone from '@tanwan/utils/validatePhone'
11
+ * validatePhone('18812345678') // true
12
+ * validatePhone('12345678901') // false
13
+ * ```
14
+ */
15
+ declare function validatePhone(phone: string): boolean;
16
+ export = validatePhone;
@@ -0,0 +1,17 @@
1
+ //#region src/business/validatePhone/index.d.ts
2
+ /**
3
+ * 校验手机号格式
4
+ *
5
+ * @param phone - 待校验的手机号
6
+ * @returns 是否为合法手机号
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * import validatePhone from '@tanwan/utils/validatePhone'
11
+ * validatePhone('18812345678') // true
12
+ * validatePhone('12345678901') // false
13
+ * ```
14
+ */
15
+ declare function validatePhone(phone: string): boolean;
16
+ //#endregion
17
+ export { validatePhone as default };
@@ -0,0 +1,19 @@
1
+ //#region src/business/validatePhone/index.ts
2
+ /**
3
+ * 校验手机号格式
4
+ *
5
+ * @param phone - 待校验的手机号
6
+ * @returns 是否为合法手机号
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * import validatePhone from '@tanwan/utils/validatePhone'
11
+ * validatePhone('18812345678') // true
12
+ * validatePhone('12345678901') // false
13
+ * ```
14
+ */
15
+ function validatePhone(phone) {
16
+ return /^1[3-9]\d{9}$/.test(phone);
17
+ }
18
+ //#endregion
19
+ export { validatePhone as default };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanwan/utils",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "前端纯JS工具函数库",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -10,7 +10,8 @@
10
10
  "jsdelivr": "./dist/index.iife.js",
11
11
  "sideEffects": false,
12
12
  "files": [
13
- "dist"
13
+ "dist",
14
+ "CHANGELOG.md"
14
15
  ],
15
16
  "license": "MIT",
16
17
  "exports": {
@@ -18,113 +19,369 @@
18
19
  "import": "./dist/index.js",
19
20
  "require": "./dist/index.cjs"
20
21
  },
21
- "./array/chunk": {
22
- "import": "./dist/array/chunk.js",
23
- "require": "./dist/array/chunk.cjs"
22
+ "./addClass": {
23
+ "import": "./dist/addClass.js",
24
+ "require": "./dist/addClass.cjs"
24
25
  },
25
- "./array/flatten": {
26
- "import": "./dist/array/flatten.js",
27
- "require": "./dist/array/flatten.cjs"
26
+ "./camelCase": {
27
+ "import": "./dist/camelCase.js",
28
+ "require": "./dist/camelCase.cjs"
28
29
  },
29
- "./array/groupBy": {
30
- "import": "./dist/array/groupBy.js",
31
- "require": "./dist/array/groupBy.cjs"
30
+ "./capitalize": {
31
+ "import": "./dist/capitalize.js",
32
+ "require": "./dist/capitalize.cjs"
32
33
  },
33
- "./array/range": {
34
- "import": "./dist/array/range.js",
35
- "require": "./dist/array/range.cjs"
34
+ "./chunk": {
35
+ "import": "./dist/chunk.js",
36
+ "require": "./dist/chunk.cjs"
36
37
  },
37
- "./array/shuffle": {
38
- "import": "./dist/array/shuffle.js",
39
- "require": "./dist/array/shuffle.cjs"
38
+ "./clamp": {
39
+ "import": "./dist/clamp.js",
40
+ "require": "./dist/clamp.cjs"
40
41
  },
41
- "./array/unique": {
42
- "import": "./dist/array/unique.js",
43
- "require": "./dist/array/unique.cjs"
42
+ "./convertCurrencyToChinese": {
43
+ "import": "./dist/convertCurrencyToChinese.js",
44
+ "require": "./dist/convertCurrencyToChinese.cjs"
44
45
  },
45
- "./base/deepClone": {
46
- "import": "./dist/base/deepClone.js",
47
- "require": "./dist/base/deepClone.cjs"
46
+ "./copyToClipboard": {
47
+ "import": "./dist/copyToClipboard.js",
48
+ "require": "./dist/copyToClipboard.cjs"
48
49
  },
49
- "./base/isArray": {
50
- "import": "./dist/base/isArray.js",
51
- "require": "./dist/base/isArray.cjs"
50
+ "./createElement": {
51
+ "import": "./dist/createElement.js",
52
+ "require": "./dist/createElement.cjs"
52
53
  },
53
- "./base/isEmpty": {
54
- "import": "./dist/base/isEmpty.js",
55
- "require": "./dist/base/isEmpty.cjs"
54
+ "./debounce": {
55
+ "import": "./dist/debounce.js",
56
+ "require": "./dist/debounce.cjs"
56
57
  },
57
- "./base/isObject": {
58
- "import": "./dist/base/isObject.js",
59
- "require": "./dist/base/isObject.cjs"
58
+ "./debounceSubmit": {
59
+ "import": "./dist/debounceSubmit.js",
60
+ "require": "./dist/debounceSubmit.cjs"
60
61
  },
61
- "./base/isString": {
62
- "import": "./dist/base/isString.js",
63
- "require": "./dist/base/isString.cjs"
62
+ "./decodeBase64": {
63
+ "import": "./dist/decodeBase64.js",
64
+ "require": "./dist/decodeBase64.cjs"
64
65
  },
65
- "./date/formatDate": {
66
- "import": "./dist/date/formatDate.js",
67
- "require": "./dist/date/formatDate.cjs"
66
+ "./deepClone": {
67
+ "import": "./dist/deepClone.js",
68
+ "require": "./dist/deepClone.cjs"
68
69
  },
69
- "./date/getRelativeTime": {
70
- "import": "./dist/date/getRelativeTime.js",
71
- "require": "./dist/date/getRelativeTime.cjs"
70
+ "./deepMerge": {
71
+ "import": "./dist/deepMerge.js",
72
+ "require": "./dist/deepMerge.cjs"
72
73
  },
73
- "./function/debounce": {
74
- "import": "./dist/function/debounce.js",
75
- "require": "./dist/function/debounce.cjs"
74
+ "./delay": {
75
+ "import": "./dist/delay.js",
76
+ "require": "./dist/delay.cjs"
76
77
  },
77
- "./function/delay": {
78
- "import": "./dist/function/delay.js",
79
- "require": "./dist/function/delay.cjs"
78
+ "./difference": {
79
+ "import": "./dist/difference.js",
80
+ "require": "./dist/difference.cjs"
80
81
  },
81
- "./function/throttle": {
82
- "import": "./dist/function/throttle.js",
83
- "require": "./dist/function/throttle.cjs"
82
+ "./downloadFile": {
83
+ "import": "./dist/downloadFile.js",
84
+ "require": "./dist/downloadFile.cjs"
84
85
  },
85
- "./number/clamp": {
86
- "import": "./dist/number/clamp.js",
87
- "require": "./dist/number/clamp.cjs"
86
+ "./encodeBase64": {
87
+ "import": "./dist/encodeBase64.js",
88
+ "require": "./dist/encodeBase64.cjs"
88
89
  },
89
- "./number/formatThousands": {
90
- "import": "./dist/number/formatThousands.js",
91
- "require": "./dist/number/formatThousands.cjs"
90
+ "./flatten": {
91
+ "import": "./dist/flatten.js",
92
+ "require": "./dist/flatten.cjs"
92
93
  },
93
- "./number/randomInt": {
94
- "import": "./dist/number/randomInt.js",
95
- "require": "./dist/number/randomInt.cjs"
94
+ "./formatBankCard": {
95
+ "import": "./dist/formatBankCard.js",
96
+ "require": "./dist/formatBankCard.cjs"
96
97
  },
97
- "./object/omit": {
98
- "import": "./dist/object/omit.js",
99
- "require": "./dist/object/omit.cjs"
98
+ "./formatCurrency": {
99
+ "import": "./dist/formatCurrency.js",
100
+ "require": "./dist/formatCurrency.cjs"
100
101
  },
101
- "./object/pick": {
102
- "import": "./dist/object/pick.js",
103
- "require": "./dist/object/pick.cjs"
102
+ "./formatDate": {
103
+ "import": "./dist/formatDate.js",
104
+ "require": "./dist/formatDate.cjs"
104
105
  },
105
- "./string/camelCase": {
106
- "import": "./dist/string/camelCase.js",
107
- "require": "./dist/string/camelCase.cjs"
106
+ "./formatFileSize": {
107
+ "import": "./dist/formatFileSize.js",
108
+ "require": "./dist/formatFileSize.cjs"
108
109
  },
109
- "./string/capitalize": {
110
- "import": "./dist/string/capitalize.js",
111
- "require": "./dist/string/capitalize.cjs"
110
+ "./formatIdCard": {
111
+ "import": "./dist/formatIdCard.js",
112
+ "require": "./dist/formatIdCard.cjs"
112
113
  },
113
- "./string/kebabCase": {
114
- "import": "./dist/string/kebabCase.js",
115
- "require": "./dist/string/kebabCase.cjs"
114
+ "./formatPhone": {
115
+ "import": "./dist/formatPhone.js",
116
+ "require": "./dist/formatPhone.cjs"
116
117
  },
117
- "./string/uuid": {
118
- "import": "./dist/string/uuid.js",
119
- "require": "./dist/string/uuid.cjs"
118
+ "./formatThousands": {
119
+ "import": "./dist/formatThousands.js",
120
+ "require": "./dist/formatThousands.cjs"
120
121
  },
121
- "./url/parseQueryString": {
122
- "import": "./dist/url/parseQueryString.js",
123
- "require": "./dist/url/parseQueryString.cjs"
122
+ "./generateCode": {
123
+ "import": "./dist/generateCode.js",
124
+ "require": "./dist/generateCode.cjs"
124
125
  },
125
- "./url/stringifyQueryString": {
126
- "import": "./dist/url/stringifyQueryString.js",
127
- "require": "./dist/url/stringifyQueryString.cjs"
126
+ "./getAge": {
127
+ "import": "./dist/getAge.js",
128
+ "require": "./dist/getAge.cjs"
129
+ },
130
+ "./getByPath": {
131
+ "import": "./dist/getByPath.js",
132
+ "require": "./dist/getByPath.cjs"
133
+ },
134
+ "./getCssVar": {
135
+ "import": "./dist/getCssVar.js",
136
+ "require": "./dist/getCssVar.cjs"
137
+ },
138
+ "./getRelativeTime": {
139
+ "import": "./dist/getRelativeTime.js",
140
+ "require": "./dist/getRelativeTime.cjs"
141
+ },
142
+ "./getScrollTop": {
143
+ "import": "./dist/getScrollTop.js",
144
+ "require": "./dist/getScrollTop.cjs"
145
+ },
146
+ "./getStorage": {
147
+ "import": "./dist/getStorage.js",
148
+ "require": "./dist/getStorage.cjs"
149
+ },
150
+ "./getStyle": {
151
+ "import": "./dist/getStyle.js",
152
+ "require": "./dist/getStyle.cjs"
153
+ },
154
+ "./getTextWidth": {
155
+ "import": "./dist/getTextWidth.js",
156
+ "require": "./dist/getTextWidth.cjs"
157
+ },
158
+ "./groupBy": {
159
+ "import": "./dist/groupBy.js",
160
+ "require": "./dist/groupBy.cjs"
161
+ },
162
+ "./hasClass": {
163
+ "import": "./dist/hasClass.js",
164
+ "require": "./dist/hasClass.cjs"
165
+ },
166
+ "./insertAfter": {
167
+ "import": "./dist/insertAfter.js",
168
+ "require": "./dist/insertAfter.cjs"
169
+ },
170
+ "./intersection": {
171
+ "import": "./dist/intersection.js",
172
+ "require": "./dist/intersection.cjs"
173
+ },
174
+ "./invert": {
175
+ "import": "./dist/invert.js",
176
+ "require": "./dist/invert.cjs"
177
+ },
178
+ "./isArray": {
179
+ "import": "./dist/isArray.js",
180
+ "require": "./dist/isArray.cjs"
181
+ },
182
+ "./isBrowser": {
183
+ "import": "./dist/isBrowser.js",
184
+ "require": "./dist/isBrowser.cjs"
185
+ },
186
+ "./isDate": {
187
+ "import": "./dist/isDate.js",
188
+ "require": "./dist/isDate.cjs"
189
+ },
190
+ "./isEmpty": {
191
+ "import": "./dist/isEmpty.js",
192
+ "require": "./dist/isEmpty.cjs"
193
+ },
194
+ "./isFunction": {
195
+ "import": "./dist/isFunction.js",
196
+ "require": "./dist/isFunction.cjs"
197
+ },
198
+ "./isInViewport": {
199
+ "import": "./dist/isInViewport.js",
200
+ "require": "./dist/isInViewport.cjs"
201
+ },
202
+ "./isNil": {
203
+ "import": "./dist/isNil.js",
204
+ "require": "./dist/isNil.cjs"
205
+ },
206
+ "./isNumber": {
207
+ "import": "./dist/isNumber.js",
208
+ "require": "./dist/isNumber.cjs"
209
+ },
210
+ "./isObject": {
211
+ "import": "./dist/isObject.js",
212
+ "require": "./dist/isObject.cjs"
213
+ },
214
+ "./isPrimitive": {
215
+ "import": "./dist/isPrimitive.js",
216
+ "require": "./dist/isPrimitive.cjs"
217
+ },
218
+ "./isPromise": {
219
+ "import": "./dist/isPromise.js",
220
+ "require": "./dist/isPromise.cjs"
221
+ },
222
+ "./isString": {
223
+ "import": "./dist/isString.js",
224
+ "require": "./dist/isString.cjs"
225
+ },
226
+ "./joinUrl": {
227
+ "import": "./dist/joinUrl.js",
228
+ "require": "./dist/joinUrl.cjs"
229
+ },
230
+ "./kebabCase": {
231
+ "import": "./dist/kebabCase.js",
232
+ "require": "./dist/kebabCase.cjs"
233
+ },
234
+ "./lazyLoadImages": {
235
+ "import": "./dist/lazyLoadImages.js",
236
+ "require": "./dist/lazyLoadImages.cjs"
237
+ },
238
+ "./listToTree": {
239
+ "import": "./dist/listToTree.js",
240
+ "require": "./dist/listToTree.cjs"
241
+ },
242
+ "./mapValues": {
243
+ "import": "./dist/mapValues.js",
244
+ "require": "./dist/mapValues.cjs"
245
+ },
246
+ "./maskString": {
247
+ "import": "./dist/maskString.js",
248
+ "require": "./dist/maskString.cjs"
249
+ },
250
+ "./memoize": {
251
+ "import": "./dist/memoize.js",
252
+ "require": "./dist/memoize.cjs"
253
+ },
254
+ "./off": {
255
+ "import": "./dist/off.js",
256
+ "require": "./dist/off.cjs"
257
+ },
258
+ "./omit": {
259
+ "import": "./dist/omit.js",
260
+ "require": "./dist/omit.cjs"
261
+ },
262
+ "./on": {
263
+ "import": "./dist/on.js",
264
+ "require": "./dist/on.cjs"
265
+ },
266
+ "./once": {
267
+ "import": "./dist/once.js",
268
+ "require": "./dist/once.cjs"
269
+ },
270
+ "./parseQueryString": {
271
+ "import": "./dist/parseQueryString.js",
272
+ "require": "./dist/parseQueryString.cjs"
273
+ },
274
+ "./pascalCase": {
275
+ "import": "./dist/pascalCase.js",
276
+ "require": "./dist/pascalCase.cjs"
277
+ },
278
+ "./pick": {
279
+ "import": "./dist/pick.js",
280
+ "require": "./dist/pick.cjs"
281
+ },
282
+ "./randomInt": {
283
+ "import": "./dist/randomInt.js",
284
+ "require": "./dist/randomInt.cjs"
285
+ },
286
+ "./range": {
287
+ "import": "./dist/range.js",
288
+ "require": "./dist/range.cjs"
289
+ },
290
+ "./removeClass": {
291
+ "import": "./dist/removeClass.js",
292
+ "require": "./dist/removeClass.cjs"
293
+ },
294
+ "./removeElement": {
295
+ "import": "./dist/removeElement.js",
296
+ "require": "./dist/removeElement.cjs"
297
+ },
298
+ "./removeStorage": {
299
+ "import": "./dist/removeStorage.js",
300
+ "require": "./dist/removeStorage.cjs"
301
+ },
302
+ "./retry": {
303
+ "import": "./dist/retry.js",
304
+ "require": "./dist/retry.cjs"
305
+ },
306
+ "./sample": {
307
+ "import": "./dist/sample.js",
308
+ "require": "./dist/sample.cjs"
309
+ },
310
+ "./scrollToElement": {
311
+ "import": "./dist/scrollToElement.js",
312
+ "require": "./dist/scrollToElement.cjs"
313
+ },
314
+ "./setCssVar": {
315
+ "import": "./dist/setCssVar.js",
316
+ "require": "./dist/setCssVar.cjs"
317
+ },
318
+ "./setStorage": {
319
+ "import": "./dist/setStorage.js",
320
+ "require": "./dist/setStorage.cjs"
321
+ },
322
+ "./setStyle": {
323
+ "import": "./dist/setStyle.js",
324
+ "require": "./dist/setStyle.cjs"
325
+ },
326
+ "./shuffle": {
327
+ "import": "./dist/shuffle.js",
328
+ "require": "./dist/shuffle.cjs"
329
+ },
330
+ "./snakeCase": {
331
+ "import": "./dist/snakeCase.js",
332
+ "require": "./dist/snakeCase.cjs"
333
+ },
334
+ "./sortBy": {
335
+ "import": "./dist/sortBy.js",
336
+ "require": "./dist/sortBy.cjs"
337
+ },
338
+ "./stringifyQueryString": {
339
+ "import": "./dist/stringifyQueryString.js",
340
+ "require": "./dist/stringifyQueryString.cjs"
341
+ },
342
+ "./throttle": {
343
+ "import": "./dist/throttle.js",
344
+ "require": "./dist/throttle.cjs"
345
+ },
346
+ "./toggleClass": {
347
+ "import": "./dist/toggleClass.js",
348
+ "require": "./dist/toggleClass.cjs"
349
+ },
350
+ "./treeFind": {
351
+ "import": "./dist/treeFind.js",
352
+ "require": "./dist/treeFind.cjs"
353
+ },
354
+ "./treeToList": {
355
+ "import": "./dist/treeToList.js",
356
+ "require": "./dist/treeToList.cjs"
357
+ },
358
+ "./truncate": {
359
+ "import": "./dist/truncate.js",
360
+ "require": "./dist/truncate.cjs"
361
+ },
362
+ "./uniqBy": {
363
+ "import": "./dist/uniqBy.js",
364
+ "require": "./dist/uniqBy.cjs"
365
+ },
366
+ "./unique": {
367
+ "import": "./dist/unique.js",
368
+ "require": "./dist/unique.cjs"
369
+ },
370
+ "./uuid": {
371
+ "import": "./dist/uuid.js",
372
+ "require": "./dist/uuid.cjs"
373
+ },
374
+ "./validateEmail": {
375
+ "import": "./dist/validateEmail.js",
376
+ "require": "./dist/validateEmail.cjs"
377
+ },
378
+ "./validateIdCard": {
379
+ "import": "./dist/validateIdCard.js",
380
+ "require": "./dist/validateIdCard.cjs"
381
+ },
382
+ "./validatePhone": {
383
+ "import": "./dist/validatePhone.js",
384
+ "require": "./dist/validatePhone.cjs"
128
385
  },
129
386
  "./package.json": "./package.json"
130
387
  },
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunk.d.cts","names":[],"sources":["../../src/array/chunk/index.ts"],"mappings":";;;;;;;;;;iBASwB,KAAA,GAAA,CAAS,GAAA,EAAK,CAAA,IAAK,IAAA,WAAe,CAAA;AAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunk.d.ts","names":[],"sources":["../../src/array/chunk/index.ts"],"mappings":";;;;;;;;;;iBASwB,KAAA,GAAA,CAAS,GAAA,EAAK,CAAA,IAAK,IAAA,WAAe,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunk.js","names":[],"sources":["../../src/array/chunk/index.ts"],"sourcesContent":["/**\n * 数组分块\n * @example\n * ```ts\n * import chunk from '@tanwan/utils/chunk'\n * chunk([1, 2, 3, 4, 5], 2) // [[1, 2], [3, 4], [5]]\n * chunk(['a', 'b', 'c'], 1) // [['a'], ['b'], ['c']]\n * ```\n */\nexport default function chunk<T>(arr: T[], size: number): T[][] {\n const result: T[][] = [];\n for (let i = 0; i < arr.length; i += size) {\n result.push(arr.slice(i, i + size));\n }\n return result;\n}\n"],"mappings":";;;;;;;;;;AASA,SAAwB,MAAS,KAAU,MAAqB;CAC9D,MAAM,SAAgB,EAAE;AACxB,MAAK,IAAI,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK,KACnC,QAAO,KAAK,IAAI,MAAM,GAAG,IAAI,KAAK,CAAC;AAErC,QAAO"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"flatten.d.cts","names":[],"sources":["../../src/array/flatten/index.ts"],"mappings":";;;;;;;;;;iBASwB,OAAA,GAAA,CAAW,GAAA,aAAgB,KAAA,YAA2B,CAAA;AAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"flatten.d.ts","names":[],"sources":["../../src/array/flatten/index.ts"],"mappings":";;;;;;;;;;iBASwB,OAAA,GAAA,CAAW,GAAA,aAAgB,KAAA,YAA2B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"flatten.js","names":[],"sources":["../../src/array/flatten/index.ts"],"sourcesContent":["/**\n * 数组扁平化\n * @example\n * ```ts\n * import flatten from '@tanwan/utils/flatten'\n * flatten([1, [2, [3, 4]]]) // [1, 2, 3, 4]\n * flatten([1, [2, 3]], 1) // [1, 2, 3]\n * ```\n */\nexport default function flatten<T>(arr: unknown[], depth: number = Infinity): T[] {\n if (depth === 0) return arr as T[];\n const result: T[] = [];\n for (const item of arr) {\n if (Array.isArray(item) && depth > 0) {\n result.push(...flatten<T>(item, depth - 1));\n } else {\n result.push(item as T);\n }\n }\n return result;\n}\n"],"mappings":";;;;;;;;;;AASA,SAAwB,QAAW,KAAgB,QAAgB,UAAe;AAChF,KAAI,UAAU,EAAG,QAAO;CACxB,MAAM,SAAc,EAAE;AACtB,MAAK,MAAM,QAAQ,IACjB,KAAI,MAAM,QAAQ,KAAK,IAAI,QAAQ,EACjC,QAAO,KAAK,GAAG,QAAW,MAAM,QAAQ,EAAE,CAAC;KAE3C,QAAO,KAAK,KAAU;AAG1B,QAAO"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"groupBy.d.cts","names":[],"sources":["../../src/array/groupBy/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;iBAuBwB,OAAA,GAAA,CAAW,GAAA,EAAK,CAAA,IAAK,QAAA,QAAgB,CAAA,KAAM,IAAA,EAAM,CAAA,wBAAyB,MAAA,SAAe,CAAA;AAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"groupBy.d.ts","names":[],"sources":["../../src/array/groupBy/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;iBAuBwB,OAAA,GAAA,CAAW,GAAA,EAAK,CAAA,IAAK,QAAA,QAAgB,CAAA,KAAM,IAAA,EAAM,CAAA,wBAAyB,MAAA,SAAe,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"groupBy.js","names":[],"sources":["../../src/array/groupBy/index.ts"],"sourcesContent":["/**\n * 根据指定的 key 或迭代函数对数组进行分组\n *\n * @param arr - 待分组的数组\n * @param iteratee - 分组依据:可以是属性名或返回分组 key 的函数\n * @returns 分组后的对象\n *\n * @example\n * ```ts\n * import groupBy from '@tanwan/utils/groupBy'\n * // 按属性名分组\n * groupBy([{ type: 'a', val: 1 }, { type: 'b', val: 2 }, { type: 'a', val: 3 }], 'type')\n * // { a: [{ type: 'a', val: 1 }, { type: 'a', val: 3 }], b: [{ type: 'b', val: 2 }] }\n *\n * // 按函数分组\n * groupBy([1.2, 2.3, 3.4], Math.floor)\n * // { 1: [1.2], 2: [2.3], 3: [3.4] }\n *\n * // 按条件分组\n * groupBy([1, 2, 3, 4, 5], (n) => (n % 2 === 0 ? 'even' : 'odd'))\n * // { even: [2, 4], odd: [1, 3, 5] }\n * ```\n */\nexport default function groupBy<T>(arr: T[], iteratee: keyof T | ((item: T) => string | number)): Record<string, T[]> {\n const result: Record<string, T[]> = {};\n\n const getKey = typeof iteratee === 'function' ? iteratee : (item: T) => String(item[iteratee]);\n\n for (const item of arr) {\n const key = String(getKey(item));\n if (!result[key]) {\n result[key] = [];\n }\n result[key].push(item);\n }\n\n return result;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAuBA,SAAwB,QAAW,KAAU,UAAyE;CACpH,MAAM,SAA8B,EAAE;CAEtC,MAAM,SAAS,OAAO,aAAa,aAAa,YAAY,SAAY,OAAO,KAAK,UAAU;AAE9F,MAAK,MAAM,QAAQ,KAAK;EACtB,MAAM,MAAM,OAAO,OAAO,KAAK,CAAC;AAChC,MAAI,CAAC,OAAO,KACV,QAAO,OAAO,EAAE;AAElB,SAAO,KAAK,KAAK,KAAK;;AAGxB,QAAO"}