zhiaiwan-utils 1.0.3

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 (761) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +92 -0
  3. package/dist/cjs/_internal/MapCache.js +29 -0
  4. package/dist/cjs/_internal/assignSources.js +24 -0
  5. package/dist/cjs/_internal/assignValue.js +20 -0
  6. package/dist/cjs/_internal/baseClone.js +190 -0
  7. package/dist/cjs/_internal/baseCollectionKeys.js +59 -0
  8. package/dist/cjs/_internal/baseDefaultsDeep.js +59 -0
  9. package/dist/cjs/_internal/baseDifference.js +25 -0
  10. package/dist/cjs/_internal/baseExtremum.js +34 -0
  11. package/dist/cjs/_internal/baseExtremumBy.js +63 -0
  12. package/dist/cjs/_internal/baseFilter.js +61 -0
  13. package/dist/cjs/_internal/baseFind.js +153 -0
  14. package/dist/cjs/_internal/baseFlatten.js +32 -0
  15. package/dist/cjs/_internal/baseForEach.js +92 -0
  16. package/dist/cjs/_internal/baseForOwn.js +33 -0
  17. package/dist/cjs/_internal/baseIsEqual.js +161 -0
  18. package/dist/cjs/_internal/baseIsMatch.js +80 -0
  19. package/dist/cjs/_internal/baseIteratee.js +46 -0
  20. package/dist/cjs/_internal/baseKeysIn.js +44 -0
  21. package/dist/cjs/_internal/baseMap.js +49 -0
  22. package/dist/cjs/_internal/baseMerge.js +139 -0
  23. package/dist/cjs/_internal/basePad.js +40 -0
  24. package/dist/cjs/_internal/basePath.js +85 -0
  25. package/dist/cjs/_internal/baseRange.js +18 -0
  26. package/dist/cjs/_internal/baseReduce.js +77 -0
  27. package/dist/cjs/_internal/baseSum.js +27 -0
  28. package/dist/cjs/_internal/baseTreeTraverse.js +225 -0
  29. package/dist/cjs/_internal/baseTrim.js +32 -0
  30. package/dist/cjs/_internal/baseUnset.js +49 -0
  31. package/dist/cjs/_internal/baseUpdate.js +65 -0
  32. package/dist/cjs/_internal/coerceToString.js +21 -0
  33. package/dist/cjs/_internal/colorMath.js +66 -0
  34. package/dist/cjs/_internal/compareValues.js +49 -0
  35. package/dist/cjs/_internal/composePartials.js +39 -0
  36. package/dist/cjs/_internal/createCompounder.js +24 -0
  37. package/dist/cjs/_internal/deburr.js +74 -0
  38. package/dist/cjs/_internal/flattenPaths.js +21 -0
  39. package/dist/cjs/_internal/htmlEscape.js +36 -0
  40. package/dist/cjs/_internal/identity.js +11 -0
  41. package/dist/cjs/_internal/index.js +21 -0
  42. package/dist/cjs/_internal/isArguments.js +31 -0
  43. package/dist/cjs/_internal/isArrayLike.js +15 -0
  44. package/dist/cjs/_internal/isArrayLikeObject.js +15 -0
  45. package/dist/cjs/_internal/isEmptyValue.js +11 -0
  46. package/dist/cjs/_internal/isFlattenable.js +15 -0
  47. package/dist/cjs/_internal/isIndex.js +23 -0
  48. package/dist/cjs/_internal/isLength.js +15 -0
  49. package/dist/cjs/_internal/isPlainObject.js +17 -0
  50. package/dist/cjs/_internal/mergeInto.js +33 -0
  51. package/dist/cjs/_internal/repeatString.js +15 -0
  52. package/dist/cjs/_internal/toInteger.js +24 -0
  53. package/dist/cjs/_internal/toLength.js +17 -0
  54. package/dist/cjs/_internal/toPath.js +29 -0
  55. package/dist/cjs/_internal/upperFirst.js +14 -0
  56. package/dist/cjs/_internal/validateFieldRule.js +138 -0
  57. package/dist/cjs/_internal/words.js +13 -0
  58. package/dist/cjs/array/chunk.js +37 -0
  59. package/dist/cjs/array/compact.js +34 -0
  60. package/dist/cjs/array/concat.js +37 -0
  61. package/dist/cjs/array/difference.js +44 -0
  62. package/dist/cjs/array/differenceBy.js +55 -0
  63. package/dist/cjs/array/drop.js +31 -0
  64. package/dist/cjs/array/each.js +23 -0
  65. package/dist/cjs/array/every.js +69 -0
  66. package/dist/cjs/array/filter.js +26 -0
  67. package/dist/cjs/array/find.js +29 -0
  68. package/dist/cjs/array/findIndex.js +24 -0
  69. package/dist/cjs/array/findLast.js +24 -0
  70. package/dist/cjs/array/findLastIndex.js +24 -0
  71. package/dist/cjs/array/flatten.js +27 -0
  72. package/dist/cjs/array/flattenDeep.js +28 -0
  73. package/dist/cjs/array/forEach.js +32 -0
  74. package/dist/cjs/array/forEachRight.js +29 -0
  75. package/dist/cjs/array/groupBy.js +67 -0
  76. package/dist/cjs/array/head.js +21 -0
  77. package/dist/cjs/array/includes.js +60 -0
  78. package/dist/cjs/array/index.js +92 -0
  79. package/dist/cjs/array/intersection.js +51 -0
  80. package/dist/cjs/array/keyBy.js +79 -0
  81. package/dist/cjs/array/last.js +23 -0
  82. package/dist/cjs/array/map.js +26 -0
  83. package/dist/cjs/array/max.js +25 -0
  84. package/dist/cjs/array/maxBy.js +27 -0
  85. package/dist/cjs/array/mean.js +27 -0
  86. package/dist/cjs/array/meanBy.js +30 -0
  87. package/dist/cjs/array/min.js +25 -0
  88. package/dist/cjs/array/minBy.js +27 -0
  89. package/dist/cjs/array/orderBy.js +95 -0
  90. package/dist/cjs/array/partition.js +68 -0
  91. package/dist/cjs/array/reduce.js +30 -0
  92. package/dist/cjs/array/reduceRight.js +30 -0
  93. package/dist/cjs/array/some.js +66 -0
  94. package/dist/cjs/array/sortBy.js +27 -0
  95. package/dist/cjs/array/sum.js +25 -0
  96. package/dist/cjs/array/sumBy.js +31 -0
  97. package/dist/cjs/array/take.js +31 -0
  98. package/dist/cjs/array/union.js +35 -0
  99. package/dist/cjs/array/uniq.js +33 -0
  100. package/dist/cjs/array/uniqBy.js +41 -0
  101. package/dist/cjs/array/without.js +30 -0
  102. package/dist/cjs/color/getCssVariable.js +31 -0
  103. package/dist/cjs/color/getThemePalette.js +56 -0
  104. package/dist/cjs/color/hexToRgb.js +26 -0
  105. package/dist/cjs/color/index.js +16 -0
  106. package/dist/cjs/color/rgbStringToHex.js +42 -0
  107. package/dist/cjs/color/rgbToHex.js +24 -0
  108. package/dist/cjs/convert/index.js +32 -0
  109. package/dist/cjs/convert/toArray.js +56 -0
  110. package/dist/cjs/convert/toFinite.js +34 -0
  111. package/dist/cjs/convert/toInteger.js +33 -0
  112. package/dist/cjs/convert/toLength.js +30 -0
  113. package/dist/cjs/convert/toLower.js +25 -0
  114. package/dist/cjs/convert/toNumber.js +55 -0
  115. package/dist/cjs/convert/toPairs.js +24 -0
  116. package/dist/cjs/convert/toPairsIn.js +32 -0
  117. package/dist/cjs/convert/toPath.js +23 -0
  118. package/dist/cjs/convert/toPlainObject.js +39 -0
  119. package/dist/cjs/convert/toSafeInteger.js +34 -0
  120. package/dist/cjs/convert/toString.js +34 -0
  121. package/dist/cjs/convert/toUpper.js +25 -0
  122. package/dist/cjs/function/after.js +32 -0
  123. package/dist/cjs/function/before.js +32 -0
  124. package/dist/cjs/function/curry.js +57 -0
  125. package/dist/cjs/function/debounce.js +107 -0
  126. package/dist/cjs/function/flow.js +51 -0
  127. package/dist/cjs/function/flowRight.js +46 -0
  128. package/dist/cjs/function/index.js +30 -0
  129. package/dist/cjs/function/memoize.js +26 -0
  130. package/dist/cjs/function/once.js +31 -0
  131. package/dist/cjs/function/partial.js +35 -0
  132. package/dist/cjs/function/partialRight.js +33 -0
  133. package/dist/cjs/function/throttle.js +20 -0
  134. package/dist/cjs/index.js +28 -0
  135. package/dist/cjs/object/assign.js +24 -0
  136. package/dist/cjs/object/clone.js +29 -0
  137. package/dist/cjs/object/cloneDeep.js +30 -0
  138. package/dist/cjs/object/cloneDeepWith.js +30 -0
  139. package/dist/cjs/object/cloneWith.js +30 -0
  140. package/dist/cjs/object/defaults.js +23 -0
  141. package/dist/cjs/object/defaultsDeep.js +44 -0
  142. package/dist/cjs/object/findKey.js +26 -0
  143. package/dist/cjs/object/findLastKey.js +26 -0
  144. package/dist/cjs/object/forIn.js +29 -0
  145. package/dist/cjs/object/forOwn.js +29 -0
  146. package/dist/cjs/object/fromPairs.js +28 -0
  147. package/dist/cjs/object/get.js +37 -0
  148. package/dist/cjs/object/has.js +39 -0
  149. package/dist/cjs/object/index.js +64 -0
  150. package/dist/cjs/object/invert.js +34 -0
  151. package/dist/cjs/object/keys.js +25 -0
  152. package/dist/cjs/object/mapKeys.js +37 -0
  153. package/dist/cjs/object/mapValues.js +37 -0
  154. package/dist/cjs/object/merge.js +29 -0
  155. package/dist/cjs/object/mergeWith.js +41 -0
  156. package/dist/cjs/object/omit.js +36 -0
  157. package/dist/cjs/object/omitBy.js +38 -0
  158. package/dist/cjs/object/pick.js +37 -0
  159. package/dist/cjs/object/pickBy.js +38 -0
  160. package/dist/cjs/object/set.js +67 -0
  161. package/dist/cjs/object/unset.js +28 -0
  162. package/dist/cjs/object/update.js +31 -0
  163. package/dist/cjs/object/updateWith.js +33 -0
  164. package/dist/cjs/object/values.js +25 -0
  165. package/dist/cjs/string/camelCase.js +37 -0
  166. package/dist/cjs/string/capitalize.js +25 -0
  167. package/dist/cjs/string/endsWith.js +36 -0
  168. package/dist/cjs/string/escape.js +26 -0
  169. package/dist/cjs/string/index.js +40 -0
  170. package/dist/cjs/string/kebabCase.js +27 -0
  171. package/dist/cjs/string/lowerCase.js +24 -0
  172. package/dist/cjs/string/pad.js +31 -0
  173. package/dist/cjs/string/padEnd.js +31 -0
  174. package/dist/cjs/string/padStart.js +31 -0
  175. package/dist/cjs/string/repeat.js +30 -0
  176. package/dist/cjs/string/snakeCase.js +27 -0
  177. package/dist/cjs/string/startsWith.js +34 -0
  178. package/dist/cjs/string/trim.js +30 -0
  179. package/dist/cjs/string/trimEnd.js +30 -0
  180. package/dist/cjs/string/trimStart.js +30 -0
  181. package/dist/cjs/string/unescape.js +26 -0
  182. package/dist/cjs/string/upperFirst.js +25 -0
  183. package/dist/cjs/tree/filterTreeNodes.js +51 -0
  184. package/dist/cjs/tree/findTreeNode.js +45 -0
  185. package/dist/cjs/tree/forEachTree.js +33 -0
  186. package/dist/cjs/tree/getParentNodes.js +49 -0
  187. package/dist/cjs/tree/getTreeDepth.js +38 -0
  188. package/dist/cjs/tree/index.js +30 -0
  189. package/dist/cjs/tree/mapTree.js +98 -0
  190. package/dist/cjs/tree/pruneTree.js +126 -0
  191. package/dist/cjs/tree/toFlatList.js +57 -0
  192. package/dist/cjs/tree/toTree.js +71 -0
  193. package/dist/cjs/tree/traverseTree.js +29 -0
  194. package/dist/cjs/tree/traverseTreeBfs.js +29 -0
  195. package/dist/cjs/util/clamp.js +56 -0
  196. package/dist/cjs/util/constant.js +21 -0
  197. package/dist/cjs/util/defaultTo.js +28 -0
  198. package/dist/cjs/util/defer.js +25 -0
  199. package/dist/cjs/util/delay.js +25 -0
  200. package/dist/cjs/util/identity.js +22 -0
  201. package/dist/cjs/util/inRange.js +41 -0
  202. package/dist/cjs/util/index.js +48 -0
  203. package/dist/cjs/util/iteratee.js +30 -0
  204. package/dist/cjs/util/matches.js +27 -0
  205. package/dist/cjs/util/matchesProperty.js +37 -0
  206. package/dist/cjs/util/negate.js +25 -0
  207. package/dist/cjs/util/noop.js +20 -0
  208. package/dist/cjs/util/now.js +20 -0
  209. package/dist/cjs/util/property.js +33 -0
  210. package/dist/cjs/util/random.js +71 -0
  211. package/dist/cjs/util/range.js +46 -0
  212. package/dist/cjs/util/size.js +47 -0
  213. package/dist/cjs/util/sleep.js +22 -0
  214. package/dist/cjs/util/times.js +41 -0
  215. package/dist/cjs/util/uniqueId.js +26 -0
  216. package/dist/cjs/util/validateFields.js +106 -0
  217. package/dist/cjs/verify/index.js +78 -0
  218. package/dist/cjs/verify/isArguments.js +25 -0
  219. package/dist/cjs/verify/isArray.js +21 -0
  220. package/dist/cjs/verify/isArrayBuffer.js +21 -0
  221. package/dist/cjs/verify/isArrayLike.js +31 -0
  222. package/dist/cjs/verify/isBoolean.js +21 -0
  223. package/dist/cjs/verify/isBuffer.js +23 -0
  224. package/dist/cjs/verify/isDate.js +21 -0
  225. package/dist/cjs/verify/isElement.js +26 -0
  226. package/dist/cjs/verify/isEmpty.js +44 -0
  227. package/dist/cjs/verify/isEqual.js +30 -0
  228. package/dist/cjs/verify/isEqualWith.js +31 -0
  229. package/dist/cjs/verify/isError.js +23 -0
  230. package/dist/cjs/verify/isFinite.js +28 -0
  231. package/dist/cjs/verify/isFunction.js +22 -0
  232. package/dist/cjs/verify/isInteger.js +22 -0
  233. package/dist/cjs/verify/isLength.js +26 -0
  234. package/dist/cjs/verify/isMap.js +21 -0
  235. package/dist/cjs/verify/isMatch.js +30 -0
  236. package/dist/cjs/verify/isMatchWith.js +31 -0
  237. package/dist/cjs/verify/isNaN.js +28 -0
  238. package/dist/cjs/verify/isNative.js +25 -0
  239. package/dist/cjs/verify/isNil.js +27 -0
  240. package/dist/cjs/verify/isNull.js +21 -0
  241. package/dist/cjs/verify/isNumber.js +24 -0
  242. package/dist/cjs/verify/isObject.js +26 -0
  243. package/dist/cjs/verify/isObjectLike.js +30 -0
  244. package/dist/cjs/verify/isPlainObject.js +25 -0
  245. package/dist/cjs/verify/isRegExp.js +21 -0
  246. package/dist/cjs/verify/isSafeInteger.js +30 -0
  247. package/dist/cjs/verify/isSet.js +21 -0
  248. package/dist/cjs/verify/isString.js +21 -0
  249. package/dist/cjs/verify/isSymbol.js +21 -0
  250. package/dist/cjs/verify/isTypedArray.js +38 -0
  251. package/dist/cjs/verify/isUndefined.js +21 -0
  252. package/dist/cjs/verify/isWeakMap.js +21 -0
  253. package/dist/cjs/verify/isWeakSet.js +21 -0
  254. package/dist/cjs/version.js +17 -0
  255. package/dist/esm/_internal/MapCache.js +26 -0
  256. package/dist/esm/_internal/assignSources.js +21 -0
  257. package/dist/esm/_internal/assignValue.js +17 -0
  258. package/dist/esm/_internal/baseClone.js +187 -0
  259. package/dist/esm/_internal/baseCollectionKeys.js +52 -0
  260. package/dist/esm/_internal/baseDefaultsDeep.js +53 -0
  261. package/dist/esm/_internal/baseDifference.js +22 -0
  262. package/dist/esm/_internal/baseExtremum.js +28 -0
  263. package/dist/esm/_internal/baseExtremumBy.js +57 -0
  264. package/dist/esm/_internal/baseFilter.js +55 -0
  265. package/dist/esm/_internal/baseFind.js +145 -0
  266. package/dist/esm/_internal/baseFlatten.js +26 -0
  267. package/dist/esm/_internal/baseForEach.js +86 -0
  268. package/dist/esm/_internal/baseForOwn.js +26 -0
  269. package/dist/esm/_internal/baseIsEqual.js +158 -0
  270. package/dist/esm/_internal/baseIsMatch.js +74 -0
  271. package/dist/esm/_internal/baseIteratee.js +40 -0
  272. package/dist/esm/_internal/baseKeysIn.js +38 -0
  273. package/dist/esm/_internal/baseMap.js +43 -0
  274. package/dist/esm/_internal/baseMerge.js +132 -0
  275. package/dist/esm/_internal/basePad.js +34 -0
  276. package/dist/esm/_internal/basePath.js +77 -0
  277. package/dist/esm/_internal/baseRange.js +15 -0
  278. package/dist/esm/_internal/baseReduce.js +71 -0
  279. package/dist/esm/_internal/baseSum.js +21 -0
  280. package/dist/esm/_internal/baseTreeTraverse.js +219 -0
  281. package/dist/esm/_internal/baseTrim.js +29 -0
  282. package/dist/esm/_internal/baseUnset.js +43 -0
  283. package/dist/esm/_internal/baseUpdate.js +59 -0
  284. package/dist/esm/_internal/coerceToString.js +18 -0
  285. package/dist/esm/_internal/colorMath.js +56 -0
  286. package/dist/esm/_internal/compareValues.js +45 -0
  287. package/dist/esm/_internal/composePartials.js +35 -0
  288. package/dist/esm/_internal/createCompounder.js +18 -0
  289. package/dist/esm/_internal/deburr.js +71 -0
  290. package/dist/esm/_internal/flattenPaths.js +18 -0
  291. package/dist/esm/_internal/htmlEscape.js +32 -0
  292. package/dist/esm/_internal/identity.js +8 -0
  293. package/dist/esm/_internal/index.js +8 -0
  294. package/dist/esm/_internal/isArguments.js +28 -0
  295. package/dist/esm/_internal/isArrayLike.js +9 -0
  296. package/dist/esm/_internal/isArrayLikeObject.js +9 -0
  297. package/dist/esm/_internal/isEmptyValue.js +8 -0
  298. package/dist/esm/_internal/isFlattenable.js +9 -0
  299. package/dist/esm/_internal/isIndex.js +20 -0
  300. package/dist/esm/_internal/isLength.js +12 -0
  301. package/dist/esm/_internal/isPlainObject.js +14 -0
  302. package/dist/esm/_internal/mergeInto.js +27 -0
  303. package/dist/esm/_internal/repeatString.js +12 -0
  304. package/dist/esm/_internal/toInteger.js +21 -0
  305. package/dist/esm/_internal/toLength.js +11 -0
  306. package/dist/esm/_internal/toPath.js +26 -0
  307. package/dist/esm/_internal/upperFirst.js +11 -0
  308. package/dist/esm/_internal/validateFieldRule.js +132 -0
  309. package/dist/esm/_internal/words.js +10 -0
  310. package/dist/esm/array/chunk.js +31 -0
  311. package/dist/esm/array/compact.js +31 -0
  312. package/dist/esm/array/concat.js +34 -0
  313. package/dist/esm/array/difference.js +38 -0
  314. package/dist/esm/array/differenceBy.js +49 -0
  315. package/dist/esm/array/drop.js +25 -0
  316. package/dist/esm/array/each.js +18 -0
  317. package/dist/esm/array/every.js +63 -0
  318. package/dist/esm/array/filter.js +20 -0
  319. package/dist/esm/array/find.js +26 -0
  320. package/dist/esm/array/findIndex.js +21 -0
  321. package/dist/esm/array/findLast.js +21 -0
  322. package/dist/esm/array/findLastIndex.js +21 -0
  323. package/dist/esm/array/flatten.js +21 -0
  324. package/dist/esm/array/flattenDeep.js +22 -0
  325. package/dist/esm/array/forEach.js +26 -0
  326. package/dist/esm/array/forEachRight.js +23 -0
  327. package/dist/esm/array/groupBy.js +61 -0
  328. package/dist/esm/array/head.js +18 -0
  329. package/dist/esm/array/includes.js +54 -0
  330. package/dist/esm/array/index.js +43 -0
  331. package/dist/esm/array/intersection.js +48 -0
  332. package/dist/esm/array/keyBy.js +73 -0
  333. package/dist/esm/array/last.js +20 -0
  334. package/dist/esm/array/map.js +20 -0
  335. package/dist/esm/array/max.js +19 -0
  336. package/dist/esm/array/maxBy.js +21 -0
  337. package/dist/esm/array/mean.js +21 -0
  338. package/dist/esm/array/meanBy.js +24 -0
  339. package/dist/esm/array/min.js +19 -0
  340. package/dist/esm/array/minBy.js +21 -0
  341. package/dist/esm/array/orderBy.js +89 -0
  342. package/dist/esm/array/partition.js +62 -0
  343. package/dist/esm/array/reduce.js +24 -0
  344. package/dist/esm/array/reduceRight.js +24 -0
  345. package/dist/esm/array/some.js +60 -0
  346. package/dist/esm/array/sortBy.js +21 -0
  347. package/dist/esm/array/sum.js +19 -0
  348. package/dist/esm/array/sumBy.js +25 -0
  349. package/dist/esm/array/take.js +25 -0
  350. package/dist/esm/array/union.js +32 -0
  351. package/dist/esm/array/uniq.js +30 -0
  352. package/dist/esm/array/uniqBy.js +35 -0
  353. package/dist/esm/array/without.js +24 -0
  354. package/dist/esm/color/getCssVariable.js +28 -0
  355. package/dist/esm/color/getThemePalette.js +53 -0
  356. package/dist/esm/color/hexToRgb.js +23 -0
  357. package/dist/esm/color/index.js +5 -0
  358. package/dist/esm/color/rgbStringToHex.js +36 -0
  359. package/dist/esm/color/rgbToHex.js +21 -0
  360. package/dist/esm/convert/index.js +13 -0
  361. package/dist/esm/convert/toArray.js +50 -0
  362. package/dist/esm/convert/toFinite.js +28 -0
  363. package/dist/esm/convert/toInteger.js +27 -0
  364. package/dist/esm/convert/toLength.js +24 -0
  365. package/dist/esm/convert/toLower.js +19 -0
  366. package/dist/esm/convert/toNumber.js +52 -0
  367. package/dist/esm/convert/toPairs.js +21 -0
  368. package/dist/esm/convert/toPairsIn.js +29 -0
  369. package/dist/esm/convert/toPath.js +16 -0
  370. package/dist/esm/convert/toPlainObject.js +36 -0
  371. package/dist/esm/convert/toSafeInteger.js +28 -0
  372. package/dist/esm/convert/toString.js +31 -0
  373. package/dist/esm/convert/toUpper.js +19 -0
  374. package/dist/esm/function/after.js +29 -0
  375. package/dist/esm/function/before.js +29 -0
  376. package/dist/esm/function/curry.js +53 -0
  377. package/dist/esm/function/debounce.js +104 -0
  378. package/dist/esm/function/flow.js +49 -0
  379. package/dist/esm/function/flowRight.js +43 -0
  380. package/dist/esm/function/index.js +11 -0
  381. package/dist/esm/function/memoize.js +20 -0
  382. package/dist/esm/function/once.js +28 -0
  383. package/dist/esm/function/partial.js +31 -0
  384. package/dist/esm/function/partialRight.js +30 -0
  385. package/dist/esm/function/throttle.js +14 -0
  386. package/dist/esm/index.js +10 -0
  387. package/dist/esm/object/assign.js +21 -0
  388. package/dist/esm/object/clone.js +23 -0
  389. package/dist/esm/object/cloneDeep.js +24 -0
  390. package/dist/esm/object/cloneDeepWith.js +24 -0
  391. package/dist/esm/object/cloneWith.js +24 -0
  392. package/dist/esm/object/defaults.js +20 -0
  393. package/dist/esm/object/defaultsDeep.js +38 -0
  394. package/dist/esm/object/findKey.js +23 -0
  395. package/dist/esm/object/findLastKey.js +23 -0
  396. package/dist/esm/object/forIn.js +23 -0
  397. package/dist/esm/object/forOwn.js +23 -0
  398. package/dist/esm/object/fromPairs.js +25 -0
  399. package/dist/esm/object/get.js +31 -0
  400. package/dist/esm/object/has.js +33 -0
  401. package/dist/esm/object/index.js +29 -0
  402. package/dist/esm/object/invert.js +31 -0
  403. package/dist/esm/object/keys.js +22 -0
  404. package/dist/esm/object/mapKeys.js +31 -0
  405. package/dist/esm/object/mapValues.js +31 -0
  406. package/dist/esm/object/merge.js +23 -0
  407. package/dist/esm/object/mergeWith.js +35 -0
  408. package/dist/esm/object/omit.js +30 -0
  409. package/dist/esm/object/omitBy.js +32 -0
  410. package/dist/esm/object/pick.js +31 -0
  411. package/dist/esm/object/pickBy.js +32 -0
  412. package/dist/esm/object/set.js +61 -0
  413. package/dist/esm/object/unset.js +22 -0
  414. package/dist/esm/object/update.js +25 -0
  415. package/dist/esm/object/updateWith.js +27 -0
  416. package/dist/esm/object/values.js +22 -0
  417. package/dist/esm/string/camelCase.js +31 -0
  418. package/dist/esm/string/capitalize.js +19 -0
  419. package/dist/esm/string/endsWith.js +30 -0
  420. package/dist/esm/string/escape.js +20 -0
  421. package/dist/esm/string/index.js +17 -0
  422. package/dist/esm/string/kebabCase.js +22 -0
  423. package/dist/esm/string/lowerCase.js +19 -0
  424. package/dist/esm/string/pad.js +25 -0
  425. package/dist/esm/string/padEnd.js +25 -0
  426. package/dist/esm/string/padStart.js +25 -0
  427. package/dist/esm/string/repeat.js +24 -0
  428. package/dist/esm/string/snakeCase.js +22 -0
  429. package/dist/esm/string/startsWith.js +28 -0
  430. package/dist/esm/string/trim.js +24 -0
  431. package/dist/esm/string/trimEnd.js +24 -0
  432. package/dist/esm/string/trimStart.js +24 -0
  433. package/dist/esm/string/unescape.js +20 -0
  434. package/dist/esm/string/upperFirst.js +19 -0
  435. package/dist/esm/tree/filterTreeNodes.js +45 -0
  436. package/dist/esm/tree/findTreeNode.js +39 -0
  437. package/dist/esm/tree/forEachTree.js +27 -0
  438. package/dist/esm/tree/getParentNodes.js +43 -0
  439. package/dist/esm/tree/getTreeDepth.js +32 -0
  440. package/dist/esm/tree/index.js +12 -0
  441. package/dist/esm/tree/mapTree.js +95 -0
  442. package/dist/esm/tree/pruneTree.js +123 -0
  443. package/dist/esm/tree/toFlatList.js +51 -0
  444. package/dist/esm/tree/toTree.js +68 -0
  445. package/dist/esm/tree/traverseTree.js +23 -0
  446. package/dist/esm/tree/traverseTreeBfs.js +23 -0
  447. package/dist/esm/util/clamp.js +53 -0
  448. package/dist/esm/util/constant.js +18 -0
  449. package/dist/esm/util/defaultTo.js +25 -0
  450. package/dist/esm/util/defer.js +19 -0
  451. package/dist/esm/util/delay.js +22 -0
  452. package/dist/esm/util/identity.js +17 -0
  453. package/dist/esm/util/inRange.js +38 -0
  454. package/dist/esm/util/index.js +21 -0
  455. package/dist/esm/util/iteratee.js +24 -0
  456. package/dist/esm/util/matches.js +21 -0
  457. package/dist/esm/util/matchesProperty.js +31 -0
  458. package/dist/esm/util/negate.js +22 -0
  459. package/dist/esm/util/noop.js +17 -0
  460. package/dist/esm/util/now.js +17 -0
  461. package/dist/esm/util/property.js +27 -0
  462. package/dist/esm/util/random.js +68 -0
  463. package/dist/esm/util/range.js +40 -0
  464. package/dist/esm/util/size.js +41 -0
  465. package/dist/esm/util/sleep.js +19 -0
  466. package/dist/esm/util/times.js +35 -0
  467. package/dist/esm/util/uniqueId.js +23 -0
  468. package/dist/esm/util/validateFields.js +100 -0
  469. package/dist/esm/verify/index.js +36 -0
  470. package/dist/esm/verify/isArguments.js +18 -0
  471. package/dist/esm/verify/isArray.js +18 -0
  472. package/dist/esm/verify/isArrayBuffer.js +18 -0
  473. package/dist/esm/verify/isArrayLike.js +25 -0
  474. package/dist/esm/verify/isBoolean.js +18 -0
  475. package/dist/esm/verify/isBuffer.js +20 -0
  476. package/dist/esm/verify/isDate.js +18 -0
  477. package/dist/esm/verify/isElement.js +20 -0
  478. package/dist/esm/verify/isEmpty.js +38 -0
  479. package/dist/esm/verify/isEqual.js +24 -0
  480. package/dist/esm/verify/isEqualWith.js +25 -0
  481. package/dist/esm/verify/isError.js +20 -0
  482. package/dist/esm/verify/isFinite.js +22 -0
  483. package/dist/esm/verify/isFunction.js +19 -0
  484. package/dist/esm/verify/isInteger.js +19 -0
  485. package/dist/esm/verify/isLength.js +19 -0
  486. package/dist/esm/verify/isMap.js +18 -0
  487. package/dist/esm/verify/isMatch.js +24 -0
  488. package/dist/esm/verify/isMatchWith.js +25 -0
  489. package/dist/esm/verify/isNaN.js +22 -0
  490. package/dist/esm/verify/isNative.js +22 -0
  491. package/dist/esm/verify/isNil.js +24 -0
  492. package/dist/esm/verify/isNull.js +18 -0
  493. package/dist/esm/verify/isNumber.js +21 -0
  494. package/dist/esm/verify/isObject.js +23 -0
  495. package/dist/esm/verify/isObjectLike.js +27 -0
  496. package/dist/esm/verify/isPlainObject.js +18 -0
  497. package/dist/esm/verify/isRegExp.js +18 -0
  498. package/dist/esm/verify/isSafeInteger.js +24 -0
  499. package/dist/esm/verify/isSet.js +18 -0
  500. package/dist/esm/verify/isString.js +18 -0
  501. package/dist/esm/verify/isSymbol.js +18 -0
  502. package/dist/esm/verify/isTypedArray.js +35 -0
  503. package/dist/esm/verify/isUndefined.js +18 -0
  504. package/dist/esm/verify/isWeakMap.js +18 -0
  505. package/dist/esm/verify/isWeakSet.js +18 -0
  506. package/dist/esm/version.js +14 -0
  507. package/dist/types/_internal/MapCache.d.ts +13 -0
  508. package/dist/types/_internal/assignSources.d.ts +6 -0
  509. package/dist/types/_internal/assignValue.d.ts +6 -0
  510. package/dist/types/_internal/baseClone.d.ts +11 -0
  511. package/dist/types/_internal/baseCollectionKeys.d.ts +12 -0
  512. package/dist/types/_internal/baseDefaultsDeep.d.ts +6 -0
  513. package/dist/types/_internal/baseDifference.d.ts +6 -0
  514. package/dist/types/_internal/baseExtremum.d.ts +6 -0
  515. package/dist/types/_internal/baseExtremumBy.d.ts +7 -0
  516. package/dist/types/_internal/baseFilter.d.ts +7 -0
  517. package/dist/types/_internal/baseFind.d.ts +20 -0
  518. package/dist/types/_internal/baseFlatten.d.ts +6 -0
  519. package/dist/types/_internal/baseForEach.d.ts +6 -0
  520. package/dist/types/_internal/baseForOwn.d.ts +14 -0
  521. package/dist/types/_internal/baseIsEqual.d.ts +10 -0
  522. package/dist/types/_internal/baseIsMatch.d.ts +10 -0
  523. package/dist/types/_internal/baseIteratee.d.ts +7 -0
  524. package/dist/types/_internal/baseKeysIn.d.ts +6 -0
  525. package/dist/types/_internal/baseMap.d.ts +7 -0
  526. package/dist/types/_internal/baseMerge.d.ts +13 -0
  527. package/dist/types/_internal/basePad.d.ts +6 -0
  528. package/dist/types/_internal/basePath.d.ts +20 -0
  529. package/dist/types/_internal/baseRange.d.ts +6 -0
  530. package/dist/types/_internal/baseReduce.d.ts +7 -0
  531. package/dist/types/_internal/baseSum.d.ts +6 -0
  532. package/dist/types/_internal/baseTreeTraverse.d.ts +86 -0
  533. package/dist/types/_internal/baseTrim.d.ts +6 -0
  534. package/dist/types/_internal/baseUnset.d.ts +6 -0
  535. package/dist/types/_internal/baseUpdate.d.ts +6 -0
  536. package/dist/types/_internal/coerceToString.d.ts +6 -0
  537. package/dist/types/_internal/colorMath.d.ts +14 -0
  538. package/dist/types/_internal/compareValues.d.ts +12 -0
  539. package/dist/types/_internal/composePartials.d.ts +8 -0
  540. package/dist/types/_internal/createCompounder.d.ts +6 -0
  541. package/dist/types/_internal/deburr.d.ts +6 -0
  542. package/dist/types/_internal/flattenPaths.d.ts +6 -0
  543. package/dist/types/_internal/htmlEscape.d.ts +12 -0
  544. package/dist/types/_internal/identity.d.ts +6 -0
  545. package/dist/types/_internal/index.d.ts +10 -0
  546. package/dist/types/_internal/isArguments.d.ts +6 -0
  547. package/dist/types/_internal/isArrayLike.d.ts +6 -0
  548. package/dist/types/_internal/isArrayLikeObject.d.ts +6 -0
  549. package/dist/types/_internal/isEmptyValue.d.ts +6 -0
  550. package/dist/types/_internal/isFlattenable.d.ts +6 -0
  551. package/dist/types/_internal/isIndex.d.ts +6 -0
  552. package/dist/types/_internal/isLength.d.ts +6 -0
  553. package/dist/types/_internal/isPlainObject.d.ts +8 -0
  554. package/dist/types/_internal/mergeInto.d.ts +7 -0
  555. package/dist/types/_internal/repeatString.d.ts +6 -0
  556. package/dist/types/_internal/toInteger.d.ts +6 -0
  557. package/dist/types/_internal/toLength.d.ts +6 -0
  558. package/dist/types/_internal/toPath.d.ts +7 -0
  559. package/dist/types/_internal/upperFirst.d.ts +6 -0
  560. package/dist/types/_internal/validateFieldRule.d.ts +26 -0
  561. package/dist/types/_internal/words.d.ts +6 -0
  562. package/dist/types/array/chunk.d.ts +17 -0
  563. package/dist/types/array/compact.d.ts +16 -0
  564. package/dist/types/array/concat.d.ts +17 -0
  565. package/dist/types/array/difference.d.ts +17 -0
  566. package/dist/types/array/differenceBy.d.ts +18 -0
  567. package/dist/types/array/drop.d.ts +17 -0
  568. package/dist/types/array/each.d.ts +18 -0
  569. package/dist/types/array/every.d.ts +21 -0
  570. package/dist/types/array/filter.d.ts +18 -0
  571. package/dist/types/array/find.d.ts +23 -0
  572. package/dist/types/array/findIndex.d.ts +18 -0
  573. package/dist/types/array/findLast.d.ts +18 -0
  574. package/dist/types/array/findLastIndex.d.ts +18 -0
  575. package/dist/types/array/flatten.d.ts +16 -0
  576. package/dist/types/array/flattenDeep.d.ts +16 -0
  577. package/dist/types/array/forEach.d.ts +23 -0
  578. package/dist/types/array/forEachRight.d.ts +20 -0
  579. package/dist/types/array/groupBy.d.ts +18 -0
  580. package/dist/types/array/head.d.ts +16 -0
  581. package/dist/types/array/includes.d.ts +21 -0
  582. package/dist/types/array/index.d.ts +43 -0
  583. package/dist/types/array/intersection.d.ts +16 -0
  584. package/dist/types/array/keyBy.d.ts +24 -0
  585. package/dist/types/array/last.d.ts +16 -0
  586. package/dist/types/array/map.d.ts +18 -0
  587. package/dist/types/array/max.d.ts +16 -0
  588. package/dist/types/array/maxBy.d.ts +18 -0
  589. package/dist/types/array/mean.d.ts +16 -0
  590. package/dist/types/array/meanBy.d.ts +18 -0
  591. package/dist/types/array/min.d.ts +16 -0
  592. package/dist/types/array/minBy.d.ts +18 -0
  593. package/dist/types/array/orderBy.d.ts +23 -0
  594. package/dist/types/array/partition.d.ts +18 -0
  595. package/dist/types/array/reduce.d.ts +19 -0
  596. package/dist/types/array/reduceRight.d.ts +19 -0
  597. package/dist/types/array/some.d.ts +18 -0
  598. package/dist/types/array/sortBy.d.ts +18 -0
  599. package/dist/types/array/sum.d.ts +16 -0
  600. package/dist/types/array/sumBy.d.ts +18 -0
  601. package/dist/types/array/take.d.ts +17 -0
  602. package/dist/types/array/union.d.ts +16 -0
  603. package/dist/types/array/uniq.d.ts +16 -0
  604. package/dist/types/array/uniqBy.d.ts +18 -0
  605. package/dist/types/array/without.d.ts +17 -0
  606. package/dist/types/color/getCssVariable.d.ts +18 -0
  607. package/dist/types/color/getThemePalette.d.ts +28 -0
  608. package/dist/types/color/hexToRgb.d.ts +16 -0
  609. package/dist/types/color/index.d.ts +6 -0
  610. package/dist/types/color/rgbStringToHex.d.ts +16 -0
  611. package/dist/types/color/rgbToHex.d.ts +18 -0
  612. package/dist/types/convert/index.d.ts +13 -0
  613. package/dist/types/convert/toArray.d.ts +19 -0
  614. package/dist/types/convert/toFinite.d.ts +19 -0
  615. package/dist/types/convert/toInteger.d.ts +19 -0
  616. package/dist/types/convert/toLength.d.ts +19 -0
  617. package/dist/types/convert/toLower.d.ts +16 -0
  618. package/dist/types/convert/toNumber.d.ts +19 -0
  619. package/dist/types/convert/toPairs.d.ts +16 -0
  620. package/dist/types/convert/toPairsIn.d.ts +20 -0
  621. package/dist/types/convert/toPath.d.ts +16 -0
  622. package/dist/types/convert/toPlainObject.d.ts +19 -0
  623. package/dist/types/convert/toSafeInteger.d.ts +19 -0
  624. package/dist/types/convert/toString.d.ts +19 -0
  625. package/dist/types/convert/toUpper.d.ts +16 -0
  626. package/dist/types/function/after.d.ts +20 -0
  627. package/dist/types/function/before.d.ts +20 -0
  628. package/dist/types/function/curry.d.ts +27 -0
  629. package/dist/types/function/debounce.d.ts +31 -0
  630. package/dist/types/function/flow.d.ts +18 -0
  631. package/dist/types/function/flowRight.d.ts +18 -0
  632. package/dist/types/function/index.d.ts +11 -0
  633. package/dist/types/function/memoize.d.ts +41 -0
  634. package/dist/types/function/once.d.ts +18 -0
  635. package/dist/types/function/partial.d.ts +26 -0
  636. package/dist/types/function/partialRight.d.ts +25 -0
  637. package/dist/types/function/throttle.d.ts +26 -0
  638. package/dist/types/index.d.ts +10 -0
  639. package/dist/types/object/assign.d.ts +18 -0
  640. package/dist/types/object/clone.d.ts +20 -0
  641. package/dist/types/object/cloneDeep.d.ts +21 -0
  642. package/dist/types/object/cloneDeepWith.d.ts +23 -0
  643. package/dist/types/object/cloneWith.d.ts +23 -0
  644. package/dist/types/object/defaults.d.ts +17 -0
  645. package/dist/types/object/defaultsDeep.d.ts +17 -0
  646. package/dist/types/object/findKey.d.ts +17 -0
  647. package/dist/types/object/findLastKey.d.ts +17 -0
  648. package/dist/types/object/forIn.d.ts +16 -0
  649. package/dist/types/object/forOwn.d.ts +16 -0
  650. package/dist/types/object/fromPairs.d.ts +16 -0
  651. package/dist/types/object/get.d.ts +20 -0
  652. package/dist/types/object/has.d.ts +19 -0
  653. package/dist/types/object/index.d.ts +29 -0
  654. package/dist/types/object/invert.d.ts +16 -0
  655. package/dist/types/object/keys.d.ts +19 -0
  656. package/dist/types/object/mapKeys.d.ts +18 -0
  657. package/dist/types/object/mapValues.d.ts +18 -0
  658. package/dist/types/object/merge.d.ts +20 -0
  659. package/dist/types/object/mergeWith.d.ts +27 -0
  660. package/dist/types/object/omit.d.ts +18 -0
  661. package/dist/types/object/omitBy.d.ts +18 -0
  662. package/dist/types/object/pick.d.ts +18 -0
  663. package/dist/types/object/pickBy.d.ts +18 -0
  664. package/dist/types/object/set.d.ts +23 -0
  665. package/dist/types/object/unset.d.ts +19 -0
  666. package/dist/types/object/update.d.ts +19 -0
  667. package/dist/types/object/updateWith.d.ts +21 -0
  668. package/dist/types/object/values.d.ts +19 -0
  669. package/dist/types/string/camelCase.d.ts +19 -0
  670. package/dist/types/string/capitalize.d.ts +16 -0
  671. package/dist/types/string/endsWith.d.ts +21 -0
  672. package/dist/types/string/escape.d.ts +16 -0
  673. package/dist/types/string/index.d.ts +17 -0
  674. package/dist/types/string/kebabCase.d.ts +20 -0
  675. package/dist/types/string/lowerCase.d.ts +17 -0
  676. package/dist/types/string/pad.d.ts +21 -0
  677. package/dist/types/string/padEnd.d.ts +21 -0
  678. package/dist/types/string/padStart.d.ts +21 -0
  679. package/dist/types/string/repeat.d.ts +20 -0
  680. package/dist/types/string/snakeCase.d.ts +20 -0
  681. package/dist/types/string/startsWith.d.ts +21 -0
  682. package/dist/types/string/trim.d.ts +20 -0
  683. package/dist/types/string/trimEnd.d.ts +20 -0
  684. package/dist/types/string/trimStart.d.ts +20 -0
  685. package/dist/types/string/unescape.d.ts +16 -0
  686. package/dist/types/string/upperFirst.d.ts +16 -0
  687. package/dist/types/tree/filterTreeNodes.d.ts +29 -0
  688. package/dist/types/tree/findTreeNode.d.ts +22 -0
  689. package/dist/types/tree/forEachTree.d.ts +25 -0
  690. package/dist/types/tree/getParentNodes.d.ts +26 -0
  691. package/dist/types/tree/getTreeDepth.d.ts +22 -0
  692. package/dist/types/tree/index.d.ts +14 -0
  693. package/dist/types/tree/mapTree.d.ts +23 -0
  694. package/dist/types/tree/pruneTree.d.ts +32 -0
  695. package/dist/types/tree/toFlatList.d.ts +26 -0
  696. package/dist/types/tree/toTree.d.ts +22 -0
  697. package/dist/types/tree/traverseTree.d.ts +22 -0
  698. package/dist/types/tree/traverseTreeBfs.d.ts +22 -0
  699. package/dist/types/util/clamp.d.ts +18 -0
  700. package/dist/types/util/constant.d.ts +16 -0
  701. package/dist/types/util/defaultTo.d.ts +23 -0
  702. package/dist/types/util/defer.d.ts +16 -0
  703. package/dist/types/util/delay.d.ts +17 -0
  704. package/dist/types/util/identity.d.ts +17 -0
  705. package/dist/types/util/inRange.d.ts +18 -0
  706. package/dist/types/util/index.d.ts +22 -0
  707. package/dist/types/util/iteratee.d.ts +17 -0
  708. package/dist/types/util/matches.d.ts +16 -0
  709. package/dist/types/util/matchesProperty.d.ts +17 -0
  710. package/dist/types/util/negate.d.ts +16 -0
  711. package/dist/types/util/noop.d.ts +15 -0
  712. package/dist/types/util/now.d.ts +15 -0
  713. package/dist/types/util/property.d.ts +16 -0
  714. package/dist/types/util/random.d.ts +18 -0
  715. package/dist/types/util/range.d.ts +18 -0
  716. package/dist/types/util/size.d.ts +22 -0
  717. package/dist/types/util/sleep.d.ts +15 -0
  718. package/dist/types/util/times.d.ts +17 -0
  719. package/dist/types/util/uniqueId.d.ts +19 -0
  720. package/dist/types/util/validateFields.d.ts +46 -0
  721. package/dist/types/verify/index.d.ts +36 -0
  722. package/dist/types/verify/isArguments.d.ts +18 -0
  723. package/dist/types/verify/isArray.d.ts +16 -0
  724. package/dist/types/verify/isArrayBuffer.d.ts +16 -0
  725. package/dist/types/verify/isArrayLike.d.ts +24 -0
  726. package/dist/types/verify/isBoolean.d.ts +16 -0
  727. package/dist/types/verify/isBuffer.d.ts +17 -0
  728. package/dist/types/verify/isDate.d.ts +16 -0
  729. package/dist/types/verify/isElement.d.ts +17 -0
  730. package/dist/types/verify/isEmpty.d.ts +21 -0
  731. package/dist/types/verify/isEqual.d.ts +21 -0
  732. package/dist/types/verify/isEqualWith.d.ts +24 -0
  733. package/dist/types/verify/isError.d.ts +18 -0
  734. package/dist/types/verify/isFinite.d.ts +19 -0
  735. package/dist/types/verify/isFunction.d.ts +16 -0
  736. package/dist/types/verify/isInteger.d.ts +17 -0
  737. package/dist/types/verify/isLength.d.ts +19 -0
  738. package/dist/types/verify/isMap.d.ts +16 -0
  739. package/dist/types/verify/isMatch.d.ts +21 -0
  740. package/dist/types/verify/isMatchWith.d.ts +24 -0
  741. package/dist/types/verify/isNaN.d.ts +19 -0
  742. package/dist/types/verify/isNative.d.ts +19 -0
  743. package/dist/types/verify/isNil.d.ts +22 -0
  744. package/dist/types/verify/isNull.d.ts +16 -0
  745. package/dist/types/verify/isNumber.d.ts +19 -0
  746. package/dist/types/verify/isObject.d.ts +20 -0
  747. package/dist/types/verify/isObjectLike.d.ts +25 -0
  748. package/dist/types/verify/isPlainObject.d.ts +18 -0
  749. package/dist/types/verify/isRegExp.d.ts +16 -0
  750. package/dist/types/verify/isSafeInteger.d.ts +19 -0
  751. package/dist/types/verify/isSet.d.ts +16 -0
  752. package/dist/types/verify/isString.d.ts +16 -0
  753. package/dist/types/verify/isSymbol.d.ts +16 -0
  754. package/dist/types/verify/isTypedArray.d.ts +19 -0
  755. package/dist/types/verify/isUndefined.d.ts +16 -0
  756. package/dist/types/verify/isWeakMap.d.ts +16 -0
  757. package/dist/types/verify/isWeakSet.d.ts +16 -0
  758. package/dist/types/version.d.ts +13 -0
  759. package/dist/umd/zhiaiwan-utils.js +8178 -0
  760. package/dist/umd/zhiaiwan-utils.min.js +2 -0
  761. package/package.json +99 -0
@@ -0,0 +1,15 @@
1
+ /**
2
+ * 返回一个在 ms 毫秒后 resolve 的 Promise,用于异步等待。
3
+ *
4
+ * @param ms - 等待毫秒数
5
+ * @returns Promise
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * await sleep(1000);
10
+ * ```
11
+ *
12
+ * @since 1.0.0
13
+ * @category Util
14
+ */
15
+ export default function sleep(ms: number): Promise<void>;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * 调用 iteratee n 次并收集结果。
3
+ *
4
+ * @param n - 调用次数
5
+ * @param iteratee - 每次调用函数,接收 index
6
+ * @returns 结果数组
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * zhiaiwanUtils.times(3, String);
11
+ * // => ['0', '1', '2']
12
+ * ```
13
+ *
14
+ * @since 1.0.0
15
+ * @category Util
16
+ */
17
+ export default function times(n?: number, iteratee?: (index: number) => unknown): unknown[];
@@ -0,0 +1,19 @@
1
+ /**
2
+ * 生成递增的唯一 ID 字符串,可选前缀 prefix。
3
+ *
4
+ * @param prefix - 可选前缀,null/undefined 视为空字符串
5
+ * @returns 唯一 ID 字符串
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * zhiaiwanUtils.uniqueId();
10
+ * // => '1'
11
+ *
12
+ * zhiaiwanUtils.uniqueId('contact_');
13
+ * // => 'contact_2'
14
+ * ```
15
+ *
16
+ * @since 1.0.0
17
+ * @category Util
18
+ */
19
+ export default function uniqueId(prefix?: string | null): string;
@@ -0,0 +1,46 @@
1
+ import type { FieldRule } from '../_internal/validateFieldRule';
2
+ export type { FieldRule, FieldRuleType, ValidatorContext, ValidatorReturn } from '../_internal/validateFieldRule';
3
+ export type { FieldRule as ValidateFieldRule };
4
+ export type ValidateRules = Record<string, FieldRule | FieldRule[]>;
5
+ export interface ValidateOptions {
6
+ /** 仅校验指定 fields path,默认校验 rules 中的全部 key */
7
+ fields?: string[];
8
+ }
9
+ export interface ValidateResult {
10
+ valid: boolean;
11
+ errors: Record<string, string[]>;
12
+ firstError?: {
13
+ field: string;
14
+ message: string;
15
+ };
16
+ }
17
+ /**
18
+ * 按规则对象校验表单/数据对象。rules 的 key 为字段路径(与 `get` 相同的路径写法),
19
+ * value 为单条规则或规则数组。自定义 `validator` 返回 `true` / `void` 表示通过,
20
+ * 返回 `false` 或非空字符串表示失败。
21
+ *
22
+ * @param values - 待校验的数据对象
23
+ * @param rules - 字段路径到规则的映射
24
+ * @param options - 可选配置
25
+ * @returns 校验结果;存在异步 validator 时返回 Promise
26
+ *
27
+ * @example
28
+ * ```ts
29
+ * validateFields(
30
+ * { user: { name: '' }, password: 'abc', confirmPassword: '456' },
31
+ * {
32
+ * 'user.name': { required: true, message: '请输入姓名' },
33
+ * confirmPassword: {
34
+ * validator: ({ value, values }) => {
35
+ * if (value !== values.password) return '两次密码不一致';
36
+ * },
37
+ * },
38
+ * },
39
+ * );
40
+ * // => { valid: false, errors: { 'user.name': ['请输入姓名'], ... } }
41
+ * ```
42
+ *
43
+ * @since 1.0.0
44
+ * @category Util
45
+ */
46
+ export default function validateFields(values: Record<string, unknown> | null | undefined, rules: ValidateRules, options?: ValidateOptions): ValidateResult | Promise<ValidateResult>;
@@ -0,0 +1,36 @@
1
+ export { default as isString } from './isString';
2
+ export { default as isNumber } from './isNumber';
3
+ export { default as isBoolean } from './isBoolean';
4
+ export { default as isArray } from './isArray';
5
+ export { default as isArguments } from './isArguments';
6
+ export { default as isArrayBuffer } from './isArrayBuffer';
7
+ export { default as isTypedArray } from './isTypedArray';
8
+ export { default as isBuffer } from './isBuffer';
9
+ export { default as isFunction } from './isFunction';
10
+ export { default as isNative } from './isNative';
11
+ export { default as isObject } from './isObject';
12
+ export { default as isPlainObject } from './isPlainObject';
13
+ export { default as isUndefined } from './isUndefined';
14
+ export { default as isNull } from './isNull';
15
+ export { default as isNil } from './isNil';
16
+ export { default as isDate } from './isDate';
17
+ export { default as isRegExp } from './isRegExp';
18
+ export { default as isSymbol } from './isSymbol';
19
+ export { default as isInteger } from './isInteger';
20
+ export { default as isSafeInteger } from './isSafeInteger';
21
+ export { default as isLength } from './isLength';
22
+ export { default as isEmpty } from './isEmpty';
23
+ export { default as isMap } from './isMap';
24
+ export { default as isSet } from './isSet';
25
+ export { default as isWeakMap } from './isWeakMap';
26
+ export { default as isWeakSet } from './isWeakSet';
27
+ export { default as isError } from './isError';
28
+ export { default as isEqual } from './isEqual';
29
+ export { default as isEqualWith, type EqualCustomizer } from './isEqualWith';
30
+ export { default as isNaN } from './isNaN';
31
+ export { default as isFinite } from './isFinite';
32
+ export { default as isMatch } from './isMatch';
33
+ export { default as isMatchWith, type MatchCustomizer } from './isMatchWith';
34
+ export { default as isArrayLike } from './isArrayLike';
35
+ export { default as isObjectLike } from './isObjectLike';
36
+ export { default as isElement } from './isElement';
@@ -0,0 +1,18 @@
1
+ /**
2
+ * 检查 value 是否是 `arguments` 对象。
3
+ *
4
+ * @param value - 要检查的值
5
+ * @returns 如果 value 是 arguments 对象,返回 true,否则返回 false
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * (function () {
10
+ * return zhiaiwanUtils.isArguments(arguments);
11
+ * })();
12
+ * // => true
13
+ * ```
14
+ *
15
+ * @since 1.0.0
16
+ * @category Verify
17
+ */
18
+ export { default } from '../_internal/isArguments';
@@ -0,0 +1,16 @@
1
+ /**
2
+ * 检查 value 是否是一个数组。
3
+ *
4
+ * @param value - 要检查的值
5
+ * @returns 如果 value 是数组,返回 true,否则返回 false
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * isArray([1, 2, 3]); // => true
10
+ * isArray('abc'); // => false
11
+ * ```
12
+ *
13
+ * @since 1.0.0
14
+ * @category Verify
15
+ */
16
+ export default function isArray(value: unknown): value is unknown[];
@@ -0,0 +1,16 @@
1
+ /**
2
+ * 检查 value 是否是 `ArrayBuffer` 对象。
3
+ *
4
+ * @param value - 要检查的值
5
+ * @returns 如果 value 是 ArrayBuffer,返回 true,否则返回 false
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * isArrayBuffer(new ArrayBuffer(8));
10
+ * // => true
11
+ * ```
12
+ *
13
+ * @since 1.0.0
14
+ * @category Verify
15
+ */
16
+ export default function isArrayBuffer(value: unknown): value is ArrayBuffer;
@@ -0,0 +1,24 @@
1
+ /**
2
+ * 检查 value 是否为类数组(含 `length` 且非函数)。
3
+ *
4
+ * @param value - 要检查的值
5
+ * @returns 若为类数组返回 true,否则返回 false
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * isArrayLike([1, 2, 3]);
10
+ * // => true
11
+ *
12
+ * isArrayLike('abc');
13
+ * // => true
14
+ *
15
+ * isArrayLike({ length: 0 });
16
+ * // => true
17
+ * ```
18
+ *
19
+ * @since 1.0.0
20
+ * @category Verify
21
+ */
22
+ export default function isArrayLike(value: unknown): value is {
23
+ length: number;
24
+ };
@@ -0,0 +1,16 @@
1
+ /**
2
+ * 检查 value 是否是原始 boolean 或 Boolean 对象。
3
+ *
4
+ * @param value - 要检查的值
5
+ * @returns 如果 value 是布尔值,返回 true,否则返回 false
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * isBoolean(false); // => true
10
+ * isBoolean(null); // => false
11
+ * ```
12
+ *
13
+ * @since 1.0.0
14
+ * @category Verify
15
+ */
16
+ export default function isBoolean(value: unknown): value is boolean;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * 检查 value 是否是 Node.js `Buffer` 对象;非 Node 环境恒为 false。
3
+ *
4
+ * @param value - 要检查的值
5
+ * @returns 如果 value 是 Buffer,返回 true,否则返回 false
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * // Node.js 环境
10
+ * isBuffer(Buffer.from('abc'));
11
+ * // => true
12
+ * ```
13
+ *
14
+ * @since 1.0.0
15
+ * @category Verify
16
+ */
17
+ export default function isBuffer(value: unknown): boolean;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * 检查 value 是否是一个 Date 对象。
3
+ *
4
+ * @param value - 要检查的值
5
+ * @returns 如果 value 是 Date 对象,返回 true,否则返回 false
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * isDate(new Date()); // => true
10
+ * isDate('2026-01-01'); // => false
11
+ * ```
12
+ *
13
+ * @since 1.0.0
14
+ * @category Verify
15
+ */
16
+ export default function isDate(value: unknown): value is Date;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * 检查 value 是否是 DOM Element 节点(`nodeType === 1`)。
3
+ *
4
+ * @param value - 要检查的值
5
+ * @returns 如果 value 是 DOM 元素,返回 true,否则返回 false
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * // 浏览器环境
10
+ * isElement(document.body);
11
+ * // => true
12
+ * ```
13
+ *
14
+ * @since 1.0.0
15
+ * @category Verify
16
+ */
17
+ export default function isElement(value: unknown): value is Element;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * 检查 value 是否为空。判定规则:`null` / `undefined`、长度为 0 的数组/字符串/`arguments`、
3
+ * size 为 0 的 Map / Set、没有自身可枚举属性的对象,均视为空;布尔值与数字等原始值同样视为空。
4
+ *
5
+ * @param value - 要检查的值
6
+ * @returns 如果 value 为空,返回 true,否则返回 false
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * isEmpty(null); // => true
11
+ * isEmpty(''); // => true
12
+ * isEmpty([]); // => true
13
+ * isEmpty({}); // => true
14
+ * isEmpty([1, 2, 3]); // => false
15
+ * isEmpty({ a: 1 }); // => false
16
+ * ```
17
+ *
18
+ * @since 1.0.0
19
+ * @category Verify
20
+ */
21
+ export default function isEmpty(value: unknown): boolean;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * 执行深比较,判断两个值是否相等。支持数组、普通对象、`Date`、`RegExp`、`Map`、`Set`、
3
+ * `ArrayBuffer`、`DataView`、`TypedArray`、包装对象与循环引用;使用 `SameValueZero` 比较原始值。
4
+ *
5
+ * @param value - 要比较的值
6
+ * @param other - 另一个值
7
+ * @returns 若相等返回 true,否则返回 false
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * isEqual({ a: [1] }, { a: [1] });
12
+ * // => true
13
+ *
14
+ * isEqual(NaN, NaN);
15
+ * // => true
16
+ * ```
17
+ *
18
+ * @since 1.0.0
19
+ * @category Verify
20
+ */
21
+ export default function isEqual(value: unknown, other: unknown): boolean;
@@ -0,0 +1,24 @@
1
+ import { type EqualCustomizer } from '../_internal/baseIsEqual';
2
+ /**
3
+ * 执行深比较,并通过 `customizer` 自定义比较结果。
4
+ * 当 `customizer` 返回 `undefined` 时,回退到默认深比较逻辑。
5
+ *
6
+ * @param value - 要比较的值
7
+ * @param other - 另一个值
8
+ * @param customizer - 自定义比较函数
9
+ * @returns 若相等返回 true,否则返回 false
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * isEqualWith({ a: 1 }, { a: 2 }, (left, right) => {
14
+ * if (typeof left === 'number' && typeof right === 'number') {
15
+ * return Math.abs(left - right) <= 1;
16
+ * }
17
+ * });
18
+ * ```
19
+ *
20
+ * @since 1.0.0
21
+ * @category Verify
22
+ */
23
+ export default function isEqualWith(value: unknown, other: unknown, customizer?: EqualCustomizer): boolean;
24
+ export type { EqualCustomizer };
@@ -0,0 +1,18 @@
1
+ /**
2
+ * 检查 value 是否是 Error、EvalError、RangeError、ReferenceError、SyntaxError、
3
+ * TypeError 或 URIError 对象。
4
+ *
5
+ * @param value - 要检查的值
6
+ * @returns 如果 value 是错误对象,返回 true,否则返回 false
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * isError(new Error()); // => true
11
+ * isError(new TypeError()); // => true
12
+ * isError('Error'); // => false
13
+ * ```
14
+ *
15
+ * @since 1.0.0
16
+ * @category Verify
17
+ */
18
+ export default function isError(value: unknown): value is Error;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * 检查 value 是否为有限数值(非 `NaN`、`Infinity`、`-Infinity`)。
3
+ *
4
+ * @param value - 要检查的值
5
+ * @returns 若 value 为有限数返回 true,否则返回 false
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * isFinite(3);
10
+ * // => true
11
+ *
12
+ * isFinite(Infinity);
13
+ * // => false
14
+ * ```
15
+ *
16
+ * @since 1.0.0
17
+ * @category Verify
18
+ */
19
+ export default function isFinite(value: unknown): value is number;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * 检查 value 是否是一个函数。
3
+ *
4
+ * @param value - 要检查的值
5
+ * @returns 如果 value 是函数,返回 true,否则返回 false
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * isFunction(() => {}); // => true
10
+ * isFunction(/abc/); // => false
11
+ * ```
12
+ *
13
+ * @since 1.0.0
14
+ * @category Verify
15
+ */
16
+ export default function isFunction(value: unknown): value is Function;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * 检查 value 是否是一个整数(仅原始 number,不含 Number 对象)。
3
+ *
4
+ * @param value - 要检查的值
5
+ * @returns 如果 value 是整数,返回 true,否则返回 false
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * isInteger(3); // => true
10
+ * isInteger(3.14); // => false
11
+ * isInteger('3'); // => false
12
+ * ```
13
+ *
14
+ * @since 1.0.0
15
+ * @category Verify
16
+ */
17
+ export default function isInteger(value: unknown): value is number;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * 检查 value 是否是合法类数组长度(`0` 到 `Number.MAX_SAFE_INTEGER` 的整数)。
3
+ *
4
+ * @param value - 要检查的值
5
+ * @returns 如果 value 是合法长度,返回 true,否则返回 false
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * isLength(3);
10
+ * // => true
11
+ *
12
+ * isLength(-1);
13
+ * // => false
14
+ * ```
15
+ *
16
+ * @since 1.0.0
17
+ * @category Verify
18
+ */
19
+ export { default } from '../_internal/isLength';
@@ -0,0 +1,16 @@
1
+ /**
2
+ * 检查 value 是否是一个 Map 对象。
3
+ *
4
+ * @param value - 要检查的值
5
+ * @returns 如果 value 是 Map,返回 true,否则返回 false
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * isMap(new Map()); // => true
10
+ * isMap(new Set()); // => false
11
+ * ```
12
+ *
13
+ * @since 1.0.0
14
+ * @category Verify
15
+ */
16
+ export default function isMap(value: unknown): value is Map<unknown, unknown>;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * 判断 object 是否包含 source 定义的全部属性值(部分匹配)。
3
+ * 嵌套对象、`Date`、`RegExp`、`Map`、`Set` 等按值递归匹配。
4
+ *
5
+ * @param object - 被检查的对象
6
+ * @param source - 属性模板
7
+ * @returns 若匹配返回 true,否则返回 false
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * isMatch({ a: 1, b: 2 }, { b: 2 });
12
+ * // => true
13
+ *
14
+ * isMatch({ a: { x: 1 } }, { a: { x: 1 } });
15
+ * // => true
16
+ * ```
17
+ *
18
+ * @since 1.0.0
19
+ * @category Verify
20
+ */
21
+ export default function isMatch(object: unknown, source: unknown): boolean;
@@ -0,0 +1,24 @@
1
+ import { type MatchCustomizer } from '../_internal/baseIsMatch';
2
+ /**
3
+ * 判断 object 是否包含 source 定义的全部属性值,并通过 `customizer` 自定义匹配逻辑。
4
+ * 当 `customizer` 返回 `undefined` 时,回退到默认匹配逻辑。
5
+ *
6
+ * @param object - 被检查的对象
7
+ * @param source - 属性模板
8
+ * @param customizer - 自定义匹配函数
9
+ * @returns 若匹配返回 true,否则返回 false
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * isMatchWith({ a: 1.1 }, { a: 1 }, (left, right) => {
14
+ * if (typeof left === 'number' && typeof right === 'number') {
15
+ * return Math.floor(left) === right;
16
+ * }
17
+ * });
18
+ * ```
19
+ *
20
+ * @since 1.0.0
21
+ * @category Verify
22
+ */
23
+ export default function isMatchWith(object: unknown, source: unknown, customizer?: MatchCustomizer): boolean;
24
+ export type { MatchCustomizer };
@@ -0,0 +1,19 @@
1
+ /**
2
+ * 检查 value 是否为 `NaN`(含 Number 对象包装的 NaN)。
3
+ *
4
+ * @param value - 要检查的值
5
+ * @returns 若 value 为 NaN 返回 true,否则返回 false
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * isNaN(NaN);
10
+ * // => true
11
+ *
12
+ * isNaN('a');
13
+ * // => false
14
+ * ```
15
+ *
16
+ * @since 1.0.0
17
+ * @category Verify
18
+ */
19
+ export default function isNaN(value: unknown): value is number;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * 检查 value 是否是原生函数(`toString` 结果为 `[native code]`)。
3
+ *
4
+ * @param value - 要检查的值
5
+ * @returns 如果 value 是原生函数,返回 true,否则返回 false
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * isNative(Array.prototype.push);
10
+ * // => true
11
+ *
12
+ * isNative(() => {});
13
+ * // => false
14
+ * ```
15
+ *
16
+ * @since 1.0.0
17
+ * @category Verify
18
+ */
19
+ export default function isNative(value: unknown): boolean;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * 检查 value 是否是 `null` 或 `undefined`。
3
+ *
4
+ * @param value - 要检查的值
5
+ * @returns 如果 value 是 null 或 undefined,返回 true,否则返回 false
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * isNil(null);
10
+ * // => true
11
+ *
12
+ * isNil(undefined);
13
+ * // => true
14
+ *
15
+ * isNil('');
16
+ * // => false
17
+ * ```
18
+ *
19
+ * @since 1.0.0
20
+ * @category Verify
21
+ */
22
+ export default function isNil(value: unknown): value is null | undefined;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * 检查 value 是否是 null。
3
+ *
4
+ * @param value - 要检查的值
5
+ * @returns 如果 value 是 null,返回 true,否则返回 false
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * isNull(null); // => true
10
+ * isNull(void 0); // => false
11
+ * ```
12
+ *
13
+ * @since 1.0.0
14
+ * @category Verify
15
+ */
16
+ export default function isNull(value: unknown): value is null;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * 检查 value 是否是原始数值或 Number 对象。
3
+ *
4
+ * 注意:`NaN` 也会返回 true,与 lodash 行为一致。
5
+ *
6
+ * @param value - 要检查的值
7
+ * @returns 如果 value 是数值,返回 true,否则返回 false
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * isNumber(3); // => true
12
+ * isNumber(NaN); // => true
13
+ * isNumber('3'); // => false
14
+ * ```
15
+ *
16
+ * @since 1.0.0
17
+ * @category Verify
18
+ */
19
+ export default function isNumber(value: unknown): value is number;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * 检查 value 是否为语言意义上的 Object(如数组、函数、对象、正则、`new Number(0)` 等)。
3
+ * `null` 返回 false。
4
+ *
5
+ * @param value - 要检查的值
6
+ * @returns 如果 value 是对象,返回 true,否则返回 false
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * isObject({}); // => true
11
+ * isObject([1, 2, 3]); // => true
12
+ * isObject(() => {}); // => true
13
+ * isObject(null); // => false
14
+ * isObject(1); // => false
15
+ * ```
16
+ *
17
+ * @since 1.0.0
18
+ * @category Verify
19
+ */
20
+ export default function isObject(value: unknown): value is object;
@@ -0,0 +1,25 @@
1
+ /**
2
+ * 检查 value 是否类似对象(`typeof value` 为 `object` 且不为 `null`)。
3
+ *
4
+ * @param value - 要检查的值
5
+ * @returns 若 value 类似对象则返回 true,否则返回 false
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * isObjectLike({});
10
+ * // => true
11
+ *
12
+ * isObjectLike([1, 2, 3]);
13
+ * // => true
14
+ *
15
+ * isObjectLike(null);
16
+ * // => false
17
+ *
18
+ * isObjectLike(() => {});
19
+ * // => false
20
+ * ```
21
+ *
22
+ * @since 1.0.0
23
+ * @category Verify
24
+ */
25
+ export default function isObjectLike(value: unknown): value is object;