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,16 @@
1
+ /**
2
+ * 将字符串首字符转换为大写。
3
+ *
4
+ * @param string - 待转换字符串
5
+ * @returns 首字符大写后的字符串
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * zhiaiwanUtils.upperFirst('fred');
10
+ * // => 'Fred'
11
+ * ```
12
+ *
13
+ * @since 1.0.0
14
+ * @category String
15
+ */
16
+ export default function upperFirst(string?: unknown): string;
@@ -0,0 +1,29 @@
1
+ import type { FilterTreeNodesOptions, TreeRoot } from '../_internal/baseTreeTraverse';
2
+ export type { FilterTreeNodesOptions };
3
+ /**
4
+ * 收集树中所有满足 `options.predicate` 的节点;DFS 遍历全部节点。
5
+ *
6
+ * @param tree - 树根节点或根节点数组
7
+ * @param options - 遍历与匹配配置,含 `predicate`、`maxDepth` 及字段映射项
8
+ * @returns 命中节点数组;`predicate` 未传或非函数时返回 `[]`
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * filterTreeNodes(
13
+ * {
14
+ * id: 1,
15
+ * title: '根',
16
+ * children: [
17
+ * { id: 2, title: '启用', status: 1 },
18
+ * { id: 3, title: '禁用', status: 0 },
19
+ * ],
20
+ * },
21
+ * { predicate: (node) => node.status === 1 },
22
+ * );
23
+ * // => [{ id: 2, title: '启用', status: 1 }]
24
+ * ```
25
+ *
26
+ * @since 1.0.0
27
+ * @category Tree
28
+ */
29
+ export default function filterTreeNodes<T>(tree: TreeRoot<T> | null | undefined, options: FilterTreeNodesOptions<T>): T[];
@@ -0,0 +1,22 @@
1
+ import type { FindTreeNodeOptions, TreeRoot } from '../_internal/baseTreeTraverse';
2
+ export type { FindTreeNodeOptions };
3
+ /**
4
+ * 在树中查找第一个满足 `options.predicate` 的节点;找到后立即停止 DFS 遍历。
5
+ *
6
+ * @param tree - 树根节点或根节点数组
7
+ * @param options - 遍历与匹配配置,含 `predicate`、`maxDepth` 及字段映射项
8
+ * @returns 命中的节点;`predicate` 未传或非函数时返回 `null`,未找到时返回 `undefined`
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * findTreeNode(
13
+ * { id: 1, title: '根', children: [{ id: 2, title: '子' }] },
14
+ * { predicate: (node) => node.id === 2 },
15
+ * );
16
+ * // => { id: 2, title: '子' }
17
+ * ```
18
+ *
19
+ * @since 1.0.0
20
+ * @category Tree
21
+ */
22
+ export default function findTreeNode<T>(tree: TreeRoot<T> | null | undefined, options: FindTreeNodeOptions<T>): T | null | undefined;
@@ -0,0 +1,25 @@
1
+ import { type TreeIteratee, type TreeIterateeMeta, type TreePredicate, type TreeRoot, type TreeTraverseOptions } from '../_internal/baseTreeTraverse';
2
+ export type { TreeIteratee, TreeIterateeMeta, TreePredicate, TreeRoot, TreeTraverseOptions };
3
+ /**
4
+ * 深度优先遍历树;iteratee 返回 `false` 时立即停止,并返回原树。
5
+ *
6
+ * @param tree - 树根节点或根节点数组
7
+ * @param iteratee - 每次访问节点时调用,接收 `(node, parent, depth, index, meta)`,`meta` 含 `parentNodes`
8
+ * @param options - 遍历选项,含 `maxDepth`、`childrenKey`、`keyField`、`parentIdField`、`labelField`、`getKey`、`getParentKey`、`getLabel`
9
+ * @returns 原树
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * forEachTree(
14
+ * { id: 1, children: [{ id: 2 }, { id: 3 }] },
15
+ * (node) => {
16
+ * if (node.id === 2) return false;
17
+ * },
18
+ * );
19
+ * // 访问 1、2 后停止
20
+ * ```
21
+ *
22
+ * @since 1.0.0
23
+ * @category Tree
24
+ */
25
+ export default function forEachTree<T>(tree: TreeRoot<T> | null | undefined, iteratee: TreeIteratee<T>, options?: TreeTraverseOptions): TreeRoot<T> | null | undefined;
@@ -0,0 +1,26 @@
1
+ import type { GetParentNodesOptions, TreeRoot } from '../_internal/baseTreeTraverse';
2
+ export type { GetParentNodesOptions };
3
+ /**
4
+ * 查找第一个满足 `options.predicate` 的目标节点,并返回其全部父级节点(从根到直接父节点,不含目标节点本身)。
5
+ *
6
+ * @param tree - 树根节点或根节点数组
7
+ * @param options - 遍历与匹配配置,含 `predicate`、`maxDepth` 及字段映射项
8
+ * @returns 父级节点数组;根节点命中时返回 `[]`;`predicate` 未传或非函数时返回 `null`;未找到或空树时返回 `undefined`
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * getParentNodes(
13
+ * {
14
+ * id: 1,
15
+ * title: '根',
16
+ * children: [{ id: 2, title: '子', children: [{ id: 3, title: '孙' }] }],
17
+ * },
18
+ * { predicate: (node) => node.id === 3 },
19
+ * );
20
+ * // => [{ id: 1, title: '根' }, { id: 2, title: '子' }]
21
+ * ```
22
+ *
23
+ * @since 1.0.0
24
+ * @category Tree
25
+ */
26
+ export default function getParentNodes<T>(tree: TreeRoot<T> | null | undefined, options: GetParentNodesOptions<T>): T[] | null | undefined;
@@ -0,0 +1,22 @@
1
+ import { type TreeRoot, type TreeTraverseOptions } from '../_internal/baseTreeTraverse';
2
+ export type { TreeTraverseOptions as GetTreeDepthOptions };
3
+ /**
4
+ * 获取树(或森林)的最大深度;根节点 `depth` 为 `0`。
5
+ *
6
+ * @param tree - 树根节点或根节点数组
7
+ * @param options - 与 `forEachTree` 相同的 `TreeTraverseOptions`(`maxDepth` 限制下探范围)
8
+ * @returns 最大深度;`null`/`undefined` 时返回 `0`
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * getTreeDepth({
13
+ * id: 1,
14
+ * children: [{ id: 2, children: [{ id: 3 }] }],
15
+ * });
16
+ * // => 2
17
+ * ```
18
+ *
19
+ * @since 1.0.0
20
+ * @category Tree
21
+ */
22
+ export default function getTreeDepth<T>(tree: TreeRoot<T> | null | undefined, options?: TreeTraverseOptions): number;
@@ -0,0 +1,14 @@
1
+ export { default as traverseTree } from './traverseTree';
2
+ export { default as traverseTreeBfs } from './traverseTreeBfs';
3
+ export { default as forEachTree } from './forEachTree';
4
+ export { default as findTreeNode } from './findTreeNode';
5
+ export { default as filterTreeNodes } from './filterTreeNodes';
6
+ export { default as getParentNodes } from './getParentNodes';
7
+ export { default as toTree } from './toTree';
8
+ export { default as toFlatList } from './toFlatList';
9
+ export { default as getTreeDepth } from './getTreeDepth';
10
+ export { default as mapTree } from './mapTree';
11
+ export { default as pruneTree } from './pruneTree';
12
+ export type { TreeMapper } from './mapTree';
13
+ export type { FilterTreeNodesOptions, FindTreeNodeOptions, GetParentNodesOptions, PruneTreeOptions, TreeIteratee, TreeIterateeMeta, TreePredicate, TreeRoot, TreeTraverseOptions, } from '../_internal/baseTreeTraverse';
14
+ export { DEFAULT_TREE_TRAVERSE_FIELDS } from '../_internal/baseTreeTraverse';
@@ -0,0 +1,23 @@
1
+ import { type TreeIterateeMeta, type TreeRoot, type TreeTraverseOptions } from '../_internal/baseTreeTraverse';
2
+ export type TreeMapper<T, R = T> = (node: T, parent: T | null, depth: number, index: number, meta: TreeIterateeMeta<T>) => R;
3
+ /**
4
+ * 映射树节点并保留树形结构;不修改原树,返回新树。
5
+ *
6
+ * @param tree - 树根节点或根节点数组
7
+ * @param mapper - 节点映射函数,签名为 `(node, parent, depth, index, meta)`,`meta` 含 `parentNodes`
8
+ * @param options - 与 `forEachTree` 相同的 `TreeTraverseOptions`(`maxDepth` 限制递归深度)
9
+ * @returns 映射后的新树;`null`/`undefined` 原样返回
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * mapTree(
14
+ * { id: 1, title: '根', children: [{ id: 2, title: '子' }] },
15
+ * (node) => ({ ...node, title: `[${node.title}]` }),
16
+ * );
17
+ * // => { id: 1, title: '[根]', children: [{ id: 2, title: '[子]' }] }
18
+ * ```
19
+ *
20
+ * @since 1.0.0
21
+ * @category Tree
22
+ */
23
+ export default function mapTree<T, R = T>(tree: TreeRoot<T> | null | undefined, mapper: TreeMapper<T, R>, options?: TreeTraverseOptions): TreeRoot<R> | null | undefined;
@@ -0,0 +1,32 @@
1
+ import { type PruneTreeOptions, type TreeRoot } from '../_internal/baseTreeTraverse';
2
+ export type { PruneTreeOptions };
3
+ /**
4
+ * 按条件剔除树节点并返回新树;不修改原树。
5
+ *
6
+ * - `predicate` 返回真值的节点会被剔除;命中中间节点时,其子树一并移除,子节点不会上提。
7
+ * - 若某节点原有子节点,剔除后 `children` 为空,则该节点也会被剔除,并向上递归剔除空壳父节点。
8
+ *
9
+ * @param tree - 树根节点或根节点数组
10
+ * @param options - 遍历与剔除配置,含 `predicate`、`maxDepth` 及字段映射项
11
+ * @returns 剔除后的新树;`predicate` 未传或非函数时返回 `null`;根被全部剔除时单根返回 `undefined`、森林返回 `[]`
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * pruneTree(
16
+ * {
17
+ * id: 1,
18
+ * title: '根',
19
+ * children: [
20
+ * { id: 2, title: '' },
21
+ * { id: 3, title: '保留' },
22
+ * ],
23
+ * },
24
+ * { predicate: (node) => !node.title?.trim() },
25
+ * );
26
+ * // => { id: 1, title: '根', children: [{ id: 3, title: '保留' }] }
27
+ * ```
28
+ *
29
+ * @since 1.0.0
30
+ * @category Tree
31
+ */
32
+ export default function pruneTree<T>(tree: TreeRoot<T> | null | undefined, options: PruneTreeOptions<T>): TreeRoot<T> | null | undefined;
@@ -0,0 +1,26 @@
1
+ import type { TreeRoot, TreeTraverseOptions } from '../_internal/baseTreeTraverse';
2
+ export type { TreeTraverseOptions as ToFlatListOptions };
3
+ /**
4
+ * 将嵌套树(或森林)深度优先展开为扁平列表;移除 `childrenKey` 并按层级写入 `parentIdField`。
5
+ *
6
+ * @param tree - 树根节点或根节点数组
7
+ * @param options - 与 `forEachTree` 相同的 `TreeTraverseOptions`(含 `maxDepth`)
8
+ * @returns 扁平节点数组;`null`/`undefined` 时返回 `[]`
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * toFlatList({
13
+ * id: 1,
14
+ * title: '根',
15
+ * children: [{ id: 2, title: '子' }],
16
+ * });
17
+ * // => [
18
+ * // { id: 1, title: '根' },
19
+ * // { id: 2, title: '子', parentId: 1 },
20
+ * // ]
21
+ * ```
22
+ *
23
+ * @since 1.0.0
24
+ * @category Tree
25
+ */
26
+ export default function toFlatList<T>(tree: TreeRoot<T> | null | undefined, options?: TreeTraverseOptions): T[];
@@ -0,0 +1,22 @@
1
+ import { type TreeTraverseOptions } from '../_internal/baseTreeTraverse';
2
+ export type { TreeTraverseOptions as ToTreeOptions };
3
+ /**
4
+ * 将扁平列表(含节点键与父键)转换为嵌套树;返回根节点数组(森林)。
5
+ *
6
+ * @param list - 扁平节点列表
7
+ * @param options - 字段映射与 `forEachTree` 同名的 `TreeTraverseOptions`(`maxDepth` 不参与构建)
8
+ * @returns 根节点数组;空列表或 `null`/`undefined` 时返回 `[]`
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * toTree([
13
+ * { id: 1, title: '根' },
14
+ * { id: 2, title: '子', parentId: 1 },
15
+ * ]);
16
+ * // => [{ id: 1, title: '根', children: [{ id: 2, title: '子', parentId: 1 }] }]
17
+ * ```
18
+ *
19
+ * @since 1.0.0
20
+ * @category Tree
21
+ */
22
+ export default function toTree<T>(list: ReadonlyArray<T> | null | undefined, options?: TreeTraverseOptions): T[];
@@ -0,0 +1,22 @@
1
+ import { type TreeIteratee, type TreeIterateeMeta, type TreePredicate, type TreeRoot, type TreeTraverseOptions } from '../_internal/baseTreeTraverse';
2
+ export type { TreeIteratee, TreeIterateeMeta, TreePredicate, TreeRoot, TreeTraverseOptions };
3
+ /**
4
+ * 深度优先遍历树(前序);遍历完所有节点,不因 iteratee 返回值中断。
5
+ *
6
+ * @param tree - 树根节点或根节点数组
7
+ * @param iteratee - 每次访问节点时调用,接收 `(node, parent, depth, index, meta)`,`meta` 含 `parentNodes`
8
+ * @param options - 遍历选项,含 `maxDepth`、`childrenKey`、`keyField`、`parentIdField`、`labelField`、`getKey`、`getParentKey`、`getLabel`
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * traverseTree(
13
+ * { id: 1, children: [{ id: 2 }] },
14
+ * (node) => console.log(node.id),
15
+ * );
16
+ * // 输出 1、2
17
+ * ```
18
+ *
19
+ * @since 1.0.0
20
+ * @category Tree
21
+ */
22
+ export default function traverseTree<T>(tree: TreeRoot<T> | null | undefined, iteratee: TreeIteratee<T>, options?: TreeTraverseOptions): void;
@@ -0,0 +1,22 @@
1
+ import { type TreeIteratee, type TreeIterateeMeta, type TreePredicate, type TreeRoot, type TreeTraverseOptions } from '../_internal/baseTreeTraverse';
2
+ export type { TreeIteratee, TreeIterateeMeta, TreePredicate, TreeRoot, TreeTraverseOptions };
3
+ /**
4
+ * 广度优先遍历树(按层);遍历完所有节点,不因 iteratee 返回值中断。
5
+ *
6
+ * @param tree - 树根节点或根节点数组
7
+ * @param iteratee - 每次访问节点时调用,接收 `(node, parent, depth, index, meta)`,`meta` 含 `parentNodes`
8
+ * @param options - 遍历选项,含 `maxDepth`、`childrenKey`、`keyField`、`parentIdField`、`labelField`、`getKey`、`getParentKey`、`getLabel`
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * traverseTreeBfs(
13
+ * { id: 1, children: [{ id: 2, children: [{ id: 3 }] }] },
14
+ * (node) => console.log(node.id),
15
+ * );
16
+ * // 输出 1、2、3
17
+ * ```
18
+ *
19
+ * @since 1.0.0
20
+ * @category Tree
21
+ */
22
+ export default function traverseTreeBfs<T>(tree: TreeRoot<T> | null | undefined, iteratee: TreeIteratee<T>, options?: TreeTraverseOptions): void;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * 将 number 限制在 [lower, upper] 闭区间内。
3
+ *
4
+ * @param number - 待限制的数
5
+ * @param lower - 下界
6
+ * @param upper - 上界
7
+ * @returns 限制后的数
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * zhiaiwanUtils.clamp(-10, -5, 5);
12
+ * // => -5
13
+ * ```
14
+ *
15
+ * @since 1.0.0
16
+ * @category Util
17
+ */
18
+ export default function clamp(number: number, lower?: number, upper?: number): number;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * 返回一个始终返回 value 的函数。
3
+ *
4
+ * @param value - 固定返回值
5
+ * @returns 常量函数
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * zhiaiwanUtils.constant(5)();
10
+ * // => 5
11
+ * ```
12
+ *
13
+ * @since 1.0.0
14
+ * @category Util
15
+ */
16
+ export default function constant<T>(value: T): () => T;
@@ -0,0 +1,23 @@
1
+ /**
2
+ * 若 value 为 `null` 或 `undefined`,返回 defaultValue,否则返回 value。
3
+ *
4
+ * @param value - 待检查的值
5
+ * @param defaultValue - 默认值
6
+ * @returns value 或 defaultValue
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * zhiaiwanUtils.defaultTo(null, 42);
11
+ * // => 42
12
+ *
13
+ * zhiaiwanUtils.defaultTo(undefined, 42);
14
+ * // => 42
15
+ *
16
+ * zhiaiwanUtils.defaultTo(0, 42);
17
+ * // => 0
18
+ * ```
19
+ *
20
+ * @since 1.0.0
21
+ * @category Util
22
+ */
23
+ export default function defaultTo<T>(value: T | null | undefined, defaultValue: T): T;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * 推迟到当前调用栈清空后再调用 func,并传入 args。等效于 `delay(func, 1, ...args)`。
3
+ *
4
+ * @param func - 要推迟调用的函数
5
+ * @param args - 传给 func 的参数
6
+ * @returns `setTimeout` 返回的定时器 ID
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * defer((text) => console.log(text), 'deferred');
11
+ * ```
12
+ *
13
+ * @since 1.0.0
14
+ * @category Util
15
+ */
16
+ export default function defer(func: (...args: unknown[]) => unknown, ...args: unknown[]): ReturnType<typeof setTimeout>;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * 延迟 wait 毫秒后调用 func,并传入 args。wait 会按 Lodash 规则数值化,无效值视为 0。
3
+ *
4
+ * @param func - 要延迟调用的函数
5
+ * @param wait - 延迟毫秒数,默认为 0
6
+ * @param args - 传给 func 的参数
7
+ * @returns `setTimeout` 返回的定时器 ID
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * delay((msg) => console.log(msg), 1000, 'later');
12
+ * ```
13
+ *
14
+ * @since 1.0.0
15
+ * @category Util
16
+ */
17
+ export default function delay(func: (...args: unknown[]) => unknown, wait?: unknown, ...args: unknown[]): ReturnType<typeof setTimeout>;
@@ -0,0 +1,17 @@
1
+ import identity from '../_internal/identity';
2
+ /**
3
+ * 返回第一个参数。
4
+ *
5
+ * @param value - 任意值
6
+ * @returns 传入的 value
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * zhiaiwanUtils.identity(42);
11
+ * // => 42
12
+ * ```
13
+ *
14
+ * @since 1.0.0
15
+ * @category Util
16
+ */
17
+ export default identity;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * 检查 number 是否位于 [start, end) 区间内。
3
+ *
4
+ * @param number - 待检查的值
5
+ * @param start - 区间起点;仅传两参时表示 end,start 置 0
6
+ * @param end - 区间终点(不含)
7
+ * @returns 是否在区间内
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * zhiaiwanUtils.inRange(3, 2, 4);
12
+ * // => true
13
+ * ```
14
+ *
15
+ * @since 1.0.0
16
+ * @category Util
17
+ */
18
+ export default function inRange(number: number, start?: number, end?: number): boolean;
@@ -0,0 +1,22 @@
1
+ export { default as noop } from './noop';
2
+ export { default as identity } from './identity';
3
+ export { default as delay } from './delay';
4
+ export { default as defer } from './defer';
5
+ export { default as now } from './now';
6
+ export { default as uniqueId } from './uniqueId';
7
+ export { default as sleep } from './sleep';
8
+ export { default as validateFields } from './validateFields';
9
+ export { default as defaultTo } from './defaultTo';
10
+ export { default as size } from './size';
11
+ export { default as range } from './range';
12
+ export { default as times } from './times';
13
+ export { default as constant } from './constant';
14
+ export { default as negate } from './negate';
15
+ export { default as iteratee } from './iteratee';
16
+ export { default as property } from './property';
17
+ export { default as matches } from './matches';
18
+ export { default as matchesProperty } from './matchesProperty';
19
+ export { default as clamp } from './clamp';
20
+ export { default as inRange } from './inRange';
21
+ export { default as random } from './random';
22
+ export type { FieldRule, FieldRuleType, ValidateFieldRule, ValidateOptions, ValidateResult, ValidateRules, ValidatorContext, ValidatorReturn, } from './validateFields';
@@ -0,0 +1,17 @@
1
+ import { type IterateeShorthand } from '../_internal/baseIteratee';
2
+ /**
3
+ * 将 value 转为统一 iteratee 回调。
4
+ *
5
+ * @param func - 函数、属性路径、匹配对象或数组
6
+ * @returns 回调函数
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * zhiaiwanUtils.iteratee('user')({ user: 'fred' });
11
+ * // => 'fred'
12
+ * ```
13
+ *
14
+ * @since 1.0.0
15
+ * @category Util
16
+ */
17
+ export default function iteratee(func?: IterateeShorthand): (value: unknown, indexOrKey?: number | string, collection?: unknown) => unknown;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * 创建部分深度匹配 source 属性的断言函数。
3
+ *
4
+ * @param source - 要匹配的属性对象
5
+ * @returns 断言函数
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * zhiaiwanUtils.matches({ a: 1 })({ a: 1, b: 2 });
10
+ * // => true
11
+ * ```
12
+ *
13
+ * @since 1.0.0
14
+ * @category Util
15
+ */
16
+ export default function matches(source: object): (object: unknown) => boolean;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * 创建比较 object 指定路径值与 srcValue 的断言函数。
3
+ *
4
+ * @param path - 属性路径
5
+ * @param srcValue - 期望值
6
+ * @returns 断言函数
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * zhiaiwanUtils.matchesProperty('a', 1)({ a: 1, b: 2 });
11
+ * // => true
12
+ * ```
13
+ *
14
+ * @since 1.0.0
15
+ * @category Util
16
+ */
17
+ export default function matchesProperty(path: string | ReadonlyArray<string | number>, srcValue: unknown): (object: unknown) => boolean;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * 创建一个对 predicate 结果取反的函数。
3
+ *
4
+ * @param predicate - 原断言函数
5
+ * @returns 取反后的函数
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * zhiaiwanUtils.negate(Boolean)(1);
10
+ * // => false
11
+ * ```
12
+ *
13
+ * @since 1.0.0
14
+ * @category Util
15
+ */
16
+ export default function negate(predicate: (...args: unknown[]) => unknown): (...args: unknown[]) => boolean;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * 一个什么都不做的函数,常用作默认回调。
3
+ *
4
+ * @returns `undefined`
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * noop();
9
+ * // => undefined
10
+ * ```
11
+ *
12
+ * @since 1.0.0
13
+ * @category Util
14
+ */
15
+ export default function noop(): void;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * 返回当前时间的毫秒时间戳,等效于 `Date.now()`。
3
+ *
4
+ * @returns 毫秒时间戳
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * zhiaiwanUtils.now();
9
+ * // => 1700000000000
10
+ * ```
11
+ *
12
+ * @since 1.0.0
13
+ * @category Util
14
+ */
15
+ export default function now(): number;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * 创建读取 object 指定路径值的访问器函数。
3
+ *
4
+ * @param path - 属性路径
5
+ * @returns 访问器函数
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * zhiaiwanUtils.property('a')({ a: 1 });
10
+ * // => 1
11
+ * ```
12
+ *
13
+ * @since 1.0.0
14
+ * @category Util
15
+ */
16
+ export default function property(path: string | ReadonlyArray<string | number>): (object: unknown) => unknown;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * 生成 [lower, upper] 范围内的随机数。
3
+ *
4
+ * @param lower - 下界,默认 0
5
+ * @param upper - 上界,默认 1
6
+ * @param floating - 是否返回浮点数
7
+ * @returns 随机数
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * zhiaiwanUtils.random(0, 5);
12
+ * // => 0 到 5 的整数
13
+ * ```
14
+ *
15
+ * @since 1.0.0
16
+ * @category Util
17
+ */
18
+ export default function random(lower?: number | boolean, upper?: number | boolean, floating?: boolean): number;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * 创建从 start 到 end(不含)按 step 递增的数字数组。
3
+ *
4
+ * @param start - 起始值;仅传一个参数时表示 end,start 置 0
5
+ * @param end - 结束值(不含)
6
+ * @param step - 步长,默认 1 或 -1
7
+ * @returns 数字数组
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * zhiaiwanUtils.range(4);
12
+ * // => [0, 1, 2, 3]
13
+ * ```
14
+ *
15
+ * @since 1.0.0
16
+ * @category Util
17
+ */
18
+ export default function range(start?: number, end?: number, step?: number): number[];
@@ -0,0 +1,22 @@
1
+ /**
2
+ * 返回 collection 的长度;Map / Set 返回 size,对象返回自有可枚举键数量。
3
+ *
4
+ * @param collection - 待检查的集合
5
+ * @returns 集合长度
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * zhiaiwanUtils.size([1, 2, 3]);
10
+ * // => 3
11
+ *
12
+ * zhiaiwanUtils.size({ a: 1, b: 2 });
13
+ * // => 2
14
+ *
15
+ * zhiaiwanUtils.size('abc');
16
+ * // => 3
17
+ * ```
18
+ *
19
+ * @since 1.0.0
20
+ * @category Util
21
+ */
22
+ export default function size(collection: unknown): number;