@visactor/vutils 1.0.24 → 1.0.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (452) hide show
  1. package/README.zh-CN.md +12 -0
  2. package/REGRESSION.md +36 -0
  3. package/cjs/angle.d.ts +61 -0
  4. package/cjs/angle.js +73 -7
  5. package/cjs/angle.js.map +1 -1
  6. package/cjs/color/Color.d.ts +3 -0
  7. package/cjs/color/Color.js +64 -10
  8. package/cjs/color/Color.js.map +1 -1
  9. package/cjs/color/hexToRgb.d.ts +5 -0
  10. package/cjs/color/hexToRgb.js +5 -0
  11. package/cjs/color/hexToRgb.js.map +1 -1
  12. package/cjs/color/rgbToHsl.js +5 -1
  13. package/cjs/color/rgbToHsl.js.map +1 -1
  14. package/cjs/common/array.d.ts +43 -0
  15. package/cjs/common/array.js +44 -0
  16. package/cjs/common/array.js.map +1 -1
  17. package/cjs/common/bisect.d.ts +21 -0
  18. package/cjs/common/bisect.js +29 -0
  19. package/cjs/common/bisect.js.map +1 -1
  20. package/cjs/common/bootstrap.d.ts +5 -0
  21. package/cjs/common/bootstrap.js +22 -0
  22. package/cjs/common/bootstrap.js.map +1 -0
  23. package/cjs/common/clone.js +6 -0
  24. package/cjs/common/clone.js.map +1 -1
  25. package/cjs/common/cloneDeep.js +4 -1
  26. package/cjs/common/cloneDeep.js.map +1 -1
  27. package/cjs/common/correlation.d.ts +3 -0
  28. package/cjs/common/correlation.js +83 -0
  29. package/cjs/common/correlation.js.map +1 -0
  30. package/cjs/common/debounce.js +22 -4
  31. package/cjs/common/debounce.js.map +1 -1
  32. package/cjs/common/deviation.js +1 -2
  33. package/cjs/common/ecdf.d.ts +8 -0
  34. package/cjs/common/ecdf.js +11 -2
  35. package/cjs/common/ecdf.js.map +1 -1
  36. package/cjs/common/extent.d.ts +4 -0
  37. package/cjs/common/extent.js +4 -2
  38. package/cjs/common/extent.js.map +1 -1
  39. package/cjs/common/field.d.ts +6 -0
  40. package/cjs/common/field.js +3 -0
  41. package/cjs/common/field.js.map +1 -1
  42. package/cjs/common/has.d.ts +17 -0
  43. package/cjs/common/has.js +18 -1
  44. package/cjs/common/has.js.map +1 -1
  45. package/cjs/common/index.d.ts +5 -0
  46. package/cjs/common/index.js +34 -6
  47. package/cjs/common/index.js.map +1 -1
  48. package/cjs/common/interpolate.js +16 -3
  49. package/cjs/common/interpolate.js.map +1 -1
  50. package/cjs/common/isBase64.d.ts +6 -0
  51. package/cjs/common/isBase64.js +6 -0
  52. package/cjs/common/isBase64.js.map +1 -1
  53. package/cjs/common/isBoolean.d.ts +13 -0
  54. package/cjs/common/isBoolean.js +13 -1
  55. package/cjs/common/isBoolean.js.map +1 -1
  56. package/cjs/common/isEmpty.js +11 -1
  57. package/cjs/common/isEmpty.js.map +1 -1
  58. package/cjs/common/isEqual.js +19 -7
  59. package/cjs/common/isEqual.js.map +1 -1
  60. package/cjs/common/isFunction.d.ts +25 -0
  61. package/cjs/common/isFunction.js +27 -2
  62. package/cjs/common/isFunction.js.map +1 -1
  63. package/cjs/common/isNull.js +2 -1
  64. package/cjs/common/isNumber.d.ts +23 -0
  65. package/cjs/common/isNumber.js +23 -1
  66. package/cjs/common/isNumber.js.map +1 -1
  67. package/cjs/common/isNumeric.d.ts +25 -0
  68. package/cjs/common/isNumeric.js +25 -0
  69. package/cjs/common/isNumeric.js.map +1 -1
  70. package/cjs/common/isObject.d.ts +21 -0
  71. package/cjs/common/isObject.js +22 -0
  72. package/cjs/common/isObject.js.map +1 -1
  73. package/cjs/common/isObjectLike.d.ts +20 -0
  74. package/cjs/common/isObjectLike.js +21 -0
  75. package/cjs/common/isObjectLike.js.map +1 -1
  76. package/cjs/common/isPlainObject.d.ts +25 -0
  77. package/cjs/common/isPlainObject.js.map +1 -1
  78. package/cjs/common/isPrototype.js +1 -1
  79. package/cjs/common/isRegExp.js +1 -1
  80. package/cjs/common/isShallowEqual.js +1 -0
  81. package/cjs/common/isShallowEqual.js.map +1 -1
  82. package/cjs/common/isString.d.ts +13 -0
  83. package/cjs/common/isString.js +13 -1
  84. package/cjs/common/isString.js.map +1 -1
  85. package/cjs/common/isType.d.ts +6 -0
  86. package/cjs/common/isType.js +6 -0
  87. package/cjs/common/isType.js.map +1 -1
  88. package/cjs/common/isValidNumber.js.map +1 -1
  89. package/cjs/common/isValidUrl.js.map +1 -1
  90. package/cjs/common/kde.d.ts +28 -0
  91. package/cjs/common/kde.js +29 -5
  92. package/cjs/common/kde.js.map +1 -1
  93. package/cjs/common/mean.d.ts +2 -0
  94. package/cjs/common/mean.js +25 -0
  95. package/cjs/common/mean.js.map +1 -0
  96. package/cjs/common/merge.js +20 -4
  97. package/cjs/common/merge.js.map +1 -1
  98. package/cjs/common/mixin.js +14 -3
  99. package/cjs/common/mixin.js.map +1 -1
  100. package/cjs/common/normalQuantile.d.ts +5 -0
  101. package/cjs/common/normalQuantile.js +21 -0
  102. package/cjs/common/normalQuantile.js.map +1 -0
  103. package/cjs/common/number.d.ts +24 -0
  104. package/cjs/common/number.js +24 -1
  105. package/cjs/common/number.js.map +1 -1
  106. package/cjs/common/pad.d.ts +21 -0
  107. package/cjs/common/pad.js +21 -1
  108. package/cjs/common/pad.js.map +1 -1
  109. package/cjs/common/random.d.ts +3 -0
  110. package/cjs/common/random.js +13 -0
  111. package/cjs/common/random.js.map +1 -1
  112. package/cjs/common/regression-bootstrap.d.ts +14 -0
  113. package/cjs/common/regression-bootstrap.js +37 -0
  114. package/cjs/common/regression-bootstrap.js.map +1 -0
  115. package/cjs/common/regression-linear.d.ts +5 -0
  116. package/cjs/common/regression-linear.js +28 -39
  117. package/cjs/common/regression-linear.js.map +1 -1
  118. package/cjs/common/regression-logistic.d.ts +6 -0
  119. package/cjs/common/regression-logistic.js +25 -14
  120. package/cjs/common/regression-logistic.js.map +1 -1
  121. package/cjs/common/regression-lowess.d.ts +11 -1
  122. package/cjs/common/regression-lowess.js +125 -118
  123. package/cjs/common/regression-lowess.js.map +1 -1
  124. package/cjs/common/regression-polynomial.d.ts +1 -0
  125. package/cjs/common/regression-polynomial.js +24 -94
  126. package/cjs/common/regression-polynomial.js.map +1 -1
  127. package/cjs/common/regression-solver.d.ts +26 -0
  128. package/cjs/common/regression-solver.js +180 -0
  129. package/cjs/common/regression-solver.js.map +1 -0
  130. package/cjs/common/regression-utils.d.ts +13 -1
  131. package/cjs/common/regression-utils.js +27 -12
  132. package/cjs/common/regression-utils.js.map +1 -1
  133. package/cjs/common/throttle.js +3 -0
  134. package/cjs/common/throttle.js.map +1 -1
  135. package/cjs/common/toDate.js +22 -3
  136. package/cjs/common/toDate.js.map +1 -1
  137. package/cjs/common/uuid.d.ts +7 -0
  138. package/cjs/common/uuid.js +15 -1
  139. package/cjs/common/uuid.js.map +1 -1
  140. package/cjs/data-structure/bounds.d.ts +101 -0
  141. package/cjs/data-structure/bounds.js +74 -7
  142. package/cjs/data-structure/bounds.js.map +1 -1
  143. package/cjs/data-structure/hashTable.d.ts +4 -0
  144. package/cjs/data-structure/hashTable.js +11 -2
  145. package/cjs/data-structure/hashTable.js.map +1 -1
  146. package/cjs/data-structure/index.js +6 -2
  147. package/cjs/data-structure/index.js.map +1 -1
  148. package/cjs/data-structure/matrix.d.ts +91 -0
  149. package/cjs/data-structure/matrix.js +52 -4
  150. package/cjs/data-structure/matrix.js.map +1 -1
  151. package/cjs/data-structure/point.d.ts +3 -0
  152. package/cjs/data-structure/point.js +5 -1
  153. package/cjs/data-structure/point.js.map +1 -1
  154. package/cjs/dom.d.ts +36 -0
  155. package/cjs/dom.js +43 -1
  156. package/cjs/dom.js.map +1 -1
  157. package/cjs/fmin/blas1.js +10 -1
  158. package/cjs/fmin/blas1.js.map +1 -1
  159. package/cjs/fmin/conjugate-gradient.js +18 -3
  160. package/cjs/fmin/conjugate-gradient.js.map +1 -1
  161. package/cjs/fmin/linesearch.js +15 -1
  162. package/cjs/fmin/linesearch.js.map +1 -1
  163. package/cjs/fmin/nelder-mead.d.ts +1 -0
  164. package/cjs/fmin/nelder-mead.js +30 -10
  165. package/cjs/fmin/nelder-mead.js.map +1 -1
  166. package/cjs/format/number/formatDecimal.js +9 -1
  167. package/cjs/format/number/formatDecimal.js.map +1 -1
  168. package/cjs/format/number/formatGroup.js +7 -0
  169. package/cjs/format/number/formatGroup.js.map +1 -1
  170. package/cjs/format/number/formatPrefixAuto.js +8 -0
  171. package/cjs/format/number/formatPrefixAuto.js.map +1 -1
  172. package/cjs/format/number/formatRounded.js +7 -0
  173. package/cjs/format/number/formatRounded.js.map +1 -1
  174. package/cjs/format/number/formatTrim.js +7 -0
  175. package/cjs/format/number/formatTrim.js.map +1 -1
  176. package/cjs/format/number/number.js +39 -9
  177. package/cjs/format/number/number.js.map +1 -1
  178. package/cjs/format/time.js +23 -6
  179. package/cjs/format/time.js.map +1 -1
  180. package/cjs/geo/circle-intersection.d.ts +12 -0
  181. package/cjs/geo/circle-intersection.js +54 -9
  182. package/cjs/geo/circle-intersection.js.map +1 -1
  183. package/cjs/geo/constant.js +8 -1
  184. package/cjs/geo/constant.js.map +1 -1
  185. package/cjs/geo/invariant.d.ts +22 -0
  186. package/cjs/geo/invariant.js +24 -1
  187. package/cjs/geo/invariant.js.map +1 -1
  188. package/cjs/graphics/algorithm/aabb.js +7 -3
  189. package/cjs/graphics/algorithm/aabb.js.map +1 -1
  190. package/cjs/graphics/algorithm/intersect.d.ts +48 -0
  191. package/cjs/graphics/algorithm/intersect.js +75 -7
  192. package/cjs/graphics/algorithm/intersect.js.map +1 -1
  193. package/cjs/graphics/bounds-util.js +4 -2
  194. package/cjs/graphics/bounds-util.js.map +1 -1
  195. package/cjs/graphics/graph-util.js +4 -0
  196. package/cjs/graphics/graph-util.js.map +1 -1
  197. package/cjs/graphics/index.js +7 -4
  198. package/cjs/graphics/index.js.map +1 -1
  199. package/cjs/graphics/polygon.d.ts +12 -0
  200. package/cjs/graphics/polygon.js +28 -5
  201. package/cjs/graphics/polygon.js.map +1 -1
  202. package/cjs/graphics/text/measure/interface.d.ts +12 -0
  203. package/cjs/graphics/text/measure/textMeasure.d.ts +23 -0
  204. package/cjs/graphics/text/measure/textMeasure.js +50 -22
  205. package/cjs/graphics/text/measure/textMeasure.js.map +1 -1
  206. package/cjs/graphics/text/measure/util.js +1 -0
  207. package/cjs/graphics/text/measure/util.js.map +1 -1
  208. package/cjs/graphics/text/stringWidth.js +7 -3
  209. package/cjs/graphics/text/stringWidth.js.map +1 -1
  210. package/cjs/index.d.ts +6 -0
  211. package/cjs/index.js +19 -4
  212. package/cjs/index.js.map +1 -1
  213. package/cjs/logger.js +12 -2
  214. package/cjs/logger.js.map +1 -1
  215. package/cjs/lru.js +14 -6
  216. package/cjs/lru.js.map +1 -1
  217. package/cjs/math.d.ts +9 -0
  218. package/cjs/math.js +10 -0
  219. package/cjs/math.js.map +1 -1
  220. package/cjs/padding.d.ts +5 -0
  221. package/cjs/padding.js +5 -0
  222. package/cjs/padding.js.map +1 -1
  223. package/cjs/time/formatUtils.d.ts +6 -0
  224. package/cjs/time/formatUtils.js +7 -0
  225. package/cjs/time/formatUtils.js.map +1 -1
  226. package/dist/index.js +2035 -411
  227. package/dist/index.min.js +128 -1
  228. package/es/angle.d.ts +61 -0
  229. package/es/angle.js +66 -10
  230. package/es/angle.js.map +1 -1
  231. package/es/color/Color.d.ts +3 -0
  232. package/es/color/Color.js +64 -9
  233. package/es/color/Color.js.map +1 -1
  234. package/es/color/hexToRgb.d.ts +5 -0
  235. package/es/color/hexToRgb.js +5 -0
  236. package/es/color/hexToRgb.js.map +1 -1
  237. package/es/color/rgbToHsl.js +5 -1
  238. package/es/color/rgbToHsl.js.map +1 -1
  239. package/es/common/array.d.ts +43 -0
  240. package/es/common/array.js +44 -8
  241. package/es/common/array.js.map +1 -1
  242. package/es/common/bisect.d.ts +21 -0
  243. package/es/common/bisect.js +29 -4
  244. package/es/common/bisect.js.map +1 -1
  245. package/es/common/bootstrap.d.ts +5 -0
  246. package/es/common/bootstrap.js +14 -0
  247. package/es/common/bootstrap.js.map +1 -0
  248. package/es/common/clone.js +6 -0
  249. package/es/common/clone.js.map +1 -1
  250. package/es/common/cloneDeep.js +4 -1
  251. package/es/common/cloneDeep.js.map +1 -1
  252. package/es/common/correlation.d.ts +3 -0
  253. package/es/common/correlation.js +77 -0
  254. package/es/common/correlation.js.map +1 -0
  255. package/es/common/debounce.js +22 -4
  256. package/es/common/debounce.js.map +1 -1
  257. package/es/common/deviation.js +1 -2
  258. package/es/common/ecdf.d.ts +8 -0
  259. package/es/common/ecdf.js +11 -1
  260. package/es/common/ecdf.js.map +1 -1
  261. package/es/common/extent.d.ts +4 -0
  262. package/es/common/extent.js +8 -3
  263. package/es/common/extent.js.map +1 -1
  264. package/es/common/field.d.ts +6 -0
  265. package/es/common/field.js +3 -1
  266. package/es/common/field.js.map +1 -1
  267. package/es/common/has.d.ts +17 -0
  268. package/es/common/has.js +18 -1
  269. package/es/common/has.js.map +1 -1
  270. package/es/common/index.d.ts +5 -0
  271. package/es/common/index.js +24 -0
  272. package/es/common/index.js.map +1 -1
  273. package/es/common/interpolate.js +16 -3
  274. package/es/common/interpolate.js.map +1 -1
  275. package/es/common/isBase64.d.ts +6 -0
  276. package/es/common/isBase64.js +6 -0
  277. package/es/common/isBase64.js.map +1 -1
  278. package/es/common/isBoolean.d.ts +13 -0
  279. package/es/common/isBoolean.js +13 -1
  280. package/es/common/isBoolean.js.map +1 -1
  281. package/es/common/isEmpty.js +11 -1
  282. package/es/common/isEmpty.js.map +1 -1
  283. package/es/common/isEqual.js +19 -7
  284. package/es/common/isEqual.js.map +1 -1
  285. package/es/common/isFunction.d.ts +25 -0
  286. package/es/common/isFunction.js +27 -2
  287. package/es/common/isFunction.js.map +1 -1
  288. package/es/common/isNull.js +2 -1
  289. package/es/common/isNumber.d.ts +23 -0
  290. package/es/common/isNumber.js +23 -1
  291. package/es/common/isNumber.js.map +1 -1
  292. package/es/common/isNumeric.d.ts +25 -0
  293. package/es/common/isNumeric.js +25 -0
  294. package/es/common/isNumeric.js.map +1 -1
  295. package/es/common/isObject.d.ts +21 -0
  296. package/es/common/isObject.js +22 -0
  297. package/es/common/isObject.js.map +1 -1
  298. package/es/common/isObjectLike.d.ts +20 -0
  299. package/es/common/isObjectLike.js +21 -0
  300. package/es/common/isObjectLike.js.map +1 -1
  301. package/es/common/isPlainObject.d.ts +25 -0
  302. package/es/common/isPlainObject.js +26 -0
  303. package/es/common/isPlainObject.js.map +1 -1
  304. package/es/common/isPrototype.js +1 -1
  305. package/es/common/isRegExp.js +1 -1
  306. package/es/common/isShallowEqual.js +1 -0
  307. package/es/common/isShallowEqual.js.map +1 -1
  308. package/es/common/isString.d.ts +13 -0
  309. package/es/common/isString.js +13 -1
  310. package/es/common/isString.js.map +1 -1
  311. package/es/common/isType.d.ts +6 -0
  312. package/es/common/isType.js +6 -0
  313. package/es/common/isType.js.map +1 -1
  314. package/es/common/isValidNumber.js.map +1 -1
  315. package/es/common/isValidUrl.js.map +1 -1
  316. package/es/common/kde.d.ts +28 -0
  317. package/es/common/kde.js +29 -7
  318. package/es/common/kde.js.map +1 -1
  319. package/es/common/mean.d.ts +2 -0
  320. package/es/common/mean.js +19 -0
  321. package/es/common/mean.js.map +1 -0
  322. package/es/common/merge.js +22 -5
  323. package/es/common/merge.js.map +1 -1
  324. package/es/common/mixin.js +14 -3
  325. package/es/common/mixin.js.map +1 -1
  326. package/es/common/normalQuantile.d.ts +5 -0
  327. package/es/common/normalQuantile.js +15 -0
  328. package/es/common/normalQuantile.js.map +1 -0
  329. package/es/common/number.d.ts +24 -0
  330. package/es/common/number.js +24 -2
  331. package/es/common/number.js.map +1 -1
  332. package/es/common/pad.d.ts +21 -0
  333. package/es/common/pad.js +21 -1
  334. package/es/common/pad.js.map +1 -1
  335. package/es/common/random.d.ts +3 -0
  336. package/es/common/random.js +13 -1
  337. package/es/common/random.js.map +1 -1
  338. package/es/common/regression-bootstrap.d.ts +14 -0
  339. package/es/common/regression-bootstrap.js +31 -0
  340. package/es/common/regression-bootstrap.js.map +1 -0
  341. package/es/common/regression-linear.d.ts +5 -0
  342. package/es/common/regression-linear.js +25 -39
  343. package/es/common/regression-linear.js.map +1 -1
  344. package/es/common/regression-logistic.d.ts +6 -0
  345. package/es/common/regression-logistic.js +24 -16
  346. package/es/common/regression-logistic.js.map +1 -1
  347. package/es/common/regression-lowess.d.ts +11 -1
  348. package/es/common/regression-lowess.js +120 -118
  349. package/es/common/regression-lowess.js.map +1 -1
  350. package/es/common/regression-polynomial.d.ts +1 -0
  351. package/es/common/regression-polynomial.js +21 -89
  352. package/es/common/regression-polynomial.js.map +1 -1
  353. package/es/common/regression-solver.d.ts +26 -0
  354. package/es/common/regression-solver.js +168 -0
  355. package/es/common/regression-solver.js.map +1 -0
  356. package/es/common/regression-utils.d.ts +13 -1
  357. package/es/common/regression-utils.js +18 -9
  358. package/es/common/regression-utils.js.map +1 -1
  359. package/es/common/throttle.js +3 -0
  360. package/es/common/throttle.js.map +1 -1
  361. package/es/common/toDate.js +23 -3
  362. package/es/common/toDate.js.map +1 -1
  363. package/es/common/uuid.d.ts +7 -0
  364. package/es/common/uuid.js +15 -1
  365. package/es/common/uuid.js.map +1 -1
  366. package/es/data-structure/bounds.d.ts +101 -0
  367. package/es/data-structure/bounds.js +74 -8
  368. package/es/data-structure/bounds.js.map +1 -1
  369. package/es/data-structure/hashTable.d.ts +4 -0
  370. package/es/data-structure/hashTable.js +11 -2
  371. package/es/data-structure/hashTable.js.map +1 -1
  372. package/es/data-structure/index.js +2 -0
  373. package/es/data-structure/index.js.map +1 -1
  374. package/es/data-structure/matrix.d.ts +91 -0
  375. package/es/data-structure/matrix.js +52 -5
  376. package/es/data-structure/matrix.js.map +1 -1
  377. package/es/data-structure/point.d.ts +3 -0
  378. package/es/data-structure/point.js +5 -1
  379. package/es/data-structure/point.js.map +1 -1
  380. package/es/dom.d.ts +36 -0
  381. package/es/dom.js +43 -8
  382. package/es/dom.js.map +1 -1
  383. package/es/fmin/blas1.js +10 -0
  384. package/es/fmin/blas1.js.map +1 -1
  385. package/es/fmin/conjugate-gradient.js +18 -2
  386. package/es/fmin/conjugate-gradient.js.map +1 -1
  387. package/es/fmin/linesearch.js +15 -0
  388. package/es/fmin/linesearch.js.map +1 -1
  389. package/es/fmin/nelder-mead.d.ts +1 -0
  390. package/es/fmin/nelder-mead.js +29 -9
  391. package/es/fmin/nelder-mead.js.map +1 -1
  392. package/es/format/number/formatDecimal.js +9 -1
  393. package/es/format/number/formatDecimal.js.map +1 -1
  394. package/es/format/number/formatGroup.js +7 -0
  395. package/es/format/number/formatGroup.js.map +1 -1
  396. package/es/format/number/formatPrefixAuto.js +8 -0
  397. package/es/format/number/formatPrefixAuto.js.map +1 -1
  398. package/es/format/number/formatRounded.js +7 -0
  399. package/es/format/number/formatRounded.js.map +1 -1
  400. package/es/format/number/formatTrim.js +7 -0
  401. package/es/format/number/formatTrim.js.map +1 -1
  402. package/es/format/number/number.js +40 -8
  403. package/es/format/number/number.js.map +1 -1
  404. package/es/format/time.js +23 -5
  405. package/es/format/time.js.map +1 -1
  406. package/es/geo/circle-intersection.d.ts +12 -0
  407. package/es/geo/circle-intersection.js +54 -14
  408. package/es/geo/circle-intersection.js.map +1 -1
  409. package/es/geo/constant.js +8 -0
  410. package/es/geo/constant.js.map +1 -1
  411. package/es/geo/invariant.d.ts +22 -0
  412. package/es/geo/invariant.js +24 -0
  413. package/es/geo/invariant.js.map +1 -1
  414. package/es/graphics/algorithm/aabb.js +7 -3
  415. package/es/graphics/algorithm/aabb.js.map +1 -1
  416. package/es/graphics/algorithm/intersect.d.ts +48 -0
  417. package/es/graphics/algorithm/intersect.js +75 -12
  418. package/es/graphics/algorithm/intersect.js.map +1 -1
  419. package/es/graphics/bounds-util.js +4 -2
  420. package/es/graphics/bounds-util.js.map +1 -1
  421. package/es/graphics/graph-util.js +4 -0
  422. package/es/graphics/graph-util.js.map +1 -1
  423. package/es/graphics/index.js +2 -0
  424. package/es/graphics/index.js.map +1 -1
  425. package/es/graphics/polygon.d.ts +12 -0
  426. package/es/graphics/polygon.js +28 -6
  427. package/es/graphics/polygon.js.map +1 -1
  428. package/es/graphics/text/measure/interface.d.ts +12 -0
  429. package/es/graphics/text/measure/textMeasure.d.ts +23 -0
  430. package/es/graphics/text/measure/textMeasure.js +46 -21
  431. package/es/graphics/text/measure/textMeasure.js.map +1 -1
  432. package/es/graphics/text/measure/util.js +1 -0
  433. package/es/graphics/text/measure/util.js.map +1 -1
  434. package/es/graphics/text/stringWidth.js +7 -3
  435. package/es/graphics/text/stringWidth.js.map +1 -1
  436. package/es/index.d.ts +6 -0
  437. package/es/index.js +15 -1
  438. package/es/index.js.map +1 -1
  439. package/es/logger.js +12 -1
  440. package/es/logger.js.map +1 -1
  441. package/es/lru.js +14 -6
  442. package/es/lru.js.map +1 -1
  443. package/es/math.d.ts +9 -0
  444. package/es/math.js +10 -1
  445. package/es/math.js.map +1 -1
  446. package/es/padding.d.ts +5 -0
  447. package/es/padding.js +5 -1
  448. package/es/padding.js.map +1 -1
  449. package/es/time/formatUtils.d.ts +6 -0
  450. package/es/time/formatUtils.js +7 -1
  451. package/es/time/formatUtils.js.map +1 -1
  452. package/package.json +4 -3
package/es/math.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/math.ts"],"names":[],"mappings":"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","file":"math.js","sourcesContent":["export const epsilon = 1e-12;\nexport const pi = Math.PI;\nexport const halfPi = pi / 2;\nexport const tau = 2 * pi;\nexport const NEWTON_ITERATIONS = 4;\nexport const NEWTON_MIN_SLOPE = 0.001;\nexport const SUBDIVISION_PRECISION = 0.0000001;\nexport const SUBDIVISION_MAX_ITERATIONS = 10;\nexport const pi2 = Math.PI * 2;\n\nexport type vec2 = [number, number] | Float32Array;\nexport type vec3 = [number, number, number] | Float32Array;\nexport type vec4 = [number, number, number, number] | Float32Array;\nexport type vec8 = [number, number, number, number, number, number, number, number] | Float32Array;\nexport type mat4 =\n | [\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number\n ]\n | Float32Array;\n\nexport const abs = Math.abs;\nexport const atan2 = Math.atan2;\nexport const cos = Math.cos;\nexport const max = Math.max;\nexport const min = Math.min;\nexport const sin = Math.sin;\nexport const sqrt = Math.sqrt;\nexport const pow = Math.pow;\n\nexport function acos(x: number) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x: number) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\n\n/**\n * 根据比例获直线上的点\n * @param {number} x1 起始点 x\n * @param {number} y1 起始点 y\n * @param {number} x2 结束点 x\n * @param {number} y2 结束点 y\n * @param {number} t 指定比例\n * @return {object} 包含 x, y 的点\n */\nexport function pointAt(\n x1: number | null | undefined,\n y1: number | null | undefined,\n x2: number | null | undefined,\n y2: number | null | undefined,\n t: number\n): {\n x: undefined | number;\n y: undefined | number;\n} {\n let x: number | undefined = x2;\n let y: number | undefined = y2;\n if (typeof x1 === 'number' && typeof x2 === 'number') {\n x = (1 - t) * x1 + t * x2;\n }\n if (typeof y1 === 'number' && typeof y2 === 'number') {\n y = (1 - t) * y1 + t * y2;\n }\n return {\n x,\n y\n };\n}\n\nexport function lengthFromPointToLine(\n point: { x: number; y: number },\n point1: { x: number; y: number },\n point2: { x: number; y: number }\n): number {\n // 面积\n const dir1X = point2.x - point1.x;\n const dir1Y = point2.y - point1.y;\n const dir2X = point.x - point1.x;\n const dir2Y = point.y - point1.y;\n const s = Math.abs(dir1X * dir2Y - dir2X * dir1Y);\n const length = Math.sqrt(dir1X * dir1X + dir1Y * dir1Y);\n return s / length;\n}\n\nexport function crossProduct(dir1: vec2, dir2: vec2): number {\n return dir1[0] * dir2[1] - dir1[1] * dir2[0];\n}\n\nexport function crossProductPoint(dir1: { x: number; y: number }, dir2: { x: number; y: number }): number {\n return dir1.x * dir2.y - dir1.y * dir2.x;\n}\n\nexport function dotProduct(a: number[] | Float32Array, b: number[] | Float32Array): number {\n let ret = 0;\n for (let i = 0; i < a.length; ++i) {\n ret += a[i] * b[i];\n }\n return ret;\n}\n\nexport function fuzzyEqualNumber(a: number, b: number): boolean {\n return abs(a - b) < epsilon;\n}\n\nexport function fuzzyEqualVec(a: vec2, b: vec2): boolean {\n return abs(a[0] - b[0]) + abs(a[1] - b[1]) < epsilon;\n}\n\nexport function fixPrecision(num: number, precision = 10) {\n return Math.round(num * precision) / precision;\n}\n\nexport function getDecimalPlaces(n: number): number {\n const dStr = n.toString().split(/[eE]/);\n const s = (dStr[0].split('.')[1] || '').length - (+dStr[1] || 0);\n return s > 0 ? s : 0;\n}\n\nexport function precisionAdd(a: number, b: number) {\n return fixPrecision(a + b, 10 ** Math.max(getDecimalPlaces(a), getDecimalPlaces(b)));\n}\n\nexport function precisionSub(a: number, b: number) {\n return fixPrecision(a - b, 10 ** Math.max(getDecimalPlaces(a), getDecimalPlaces(b)));\n}\n"]}
1
+ {"version":3,"sources":["../src/math.ts"],"names":[],"mappings":"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","file":"math.js","sourcesContent":["export const epsilon = 1e-12;\nexport const pi = Math.PI;\nexport const halfPi = pi / 2;\nexport const tau = 2 * pi;\nexport const NEWTON_ITERATIONS = 4;\nexport const NEWTON_MIN_SLOPE = 0.001;\nexport const SUBDIVISION_PRECISION = 0.0000001;\nexport const SUBDIVISION_MAX_ITERATIONS = 10;\nexport const pi2 = Math.PI * 2;\n\nexport type vec2 = [number, number] | Float32Array;\nexport type vec3 = [number, number, number] | Float32Array;\nexport type vec4 = [number, number, number, number] | Float32Array;\nexport type vec8 = [number, number, number, number, number, number, number, number] | Float32Array;\nexport type mat4 =\n | [\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number\n ]\n | Float32Array;\n\nexport const abs = Math.abs;\nexport const atan2 = Math.atan2;\nexport const cos = Math.cos;\nexport const max = Math.max;\nexport const min = Math.min;\nexport const sin = Math.sin;\nexport const sqrt = Math.sqrt;\nexport const pow = Math.pow;\n\nexport function acos(x: number) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x: number) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\n\n/**\n * 根据比例获直线上的点\n * @param {number} x1 起始点 x\n * @param {number} y1 起始点 y\n * @param {number} x2 结束点 x\n * @param {number} y2 结束点 y\n * @param {number} t 指定比例\n * @return {object} 包含 x, y 的点\n */\nexport function pointAt(\n x1: number | null | undefined,\n y1: number | null | undefined,\n x2: number | null | undefined,\n y2: number | null | undefined,\n t: number\n): {\n x: undefined | number;\n y: undefined | number;\n} {\n let x: number | undefined = x2;\n let y: number | undefined = y2;\n if (typeof x1 === 'number' && typeof x2 === 'number') {\n x = (1 - t) * x1 + t * x2;\n }\n if (typeof y1 === 'number' && typeof y2 === 'number') {\n y = (1 - t) * y1 + t * y2;\n }\n return {\n x,\n y\n };\n}\n\nexport function lengthFromPointToLine(\n point: { x: number; y: number },\n point1: { x: number; y: number },\n point2: { x: number; y: number }\n): number {\n // 面积\n const dir1X = point2.x - point1.x;\n const dir1Y = point2.y - point1.y;\n const dir2X = point.x - point1.x;\n const dir2Y = point.y - point1.y;\n const s = Math.abs(dir1X * dir2Y - dir2X * dir1Y);\n const length = Math.sqrt(dir1X * dir1X + dir1Y * dir1Y);\n return s / length;\n}\n\nexport function crossProduct(dir1: vec2, dir2: vec2): number {\n return dir1[0] * dir2[1] - dir1[1] * dir2[0];\n}\n\nexport function crossProductPoint(dir1: { x: number; y: number }, dir2: { x: number; y: number }): number {\n return dir1.x * dir2.y - dir1.y * dir2.x;\n}\n\nexport function dotProduct(a: number[] | Float32Array, b: number[] | Float32Array): number {\n let ret = 0;\n for (let i = 0; i < a.length; ++i) {\n ret += a[i] * b[i];\n }\n return ret;\n}\n\nexport function fuzzyEqualNumber(a: number, b: number): boolean {\n return abs(a - b) < epsilon;\n}\n\nexport function fuzzyEqualVec(a: vec2, b: vec2): boolean {\n return abs(a[0] - b[0]) + abs(a[1] - b[1]) < epsilon;\n}\n\nexport function fixPrecision(num: number, precision = 10) {\n return Math.round(num * precision) / precision;\n}\n\nexport function getDecimalPlaces(n: number): number {\n const dStr = n.toString().split(/[eE]/);\n const s = (dStr[0].split('.')[1] || '').length - (+dStr[1] || 0);\n return s > 0 ? s : 0;\n}\n\nexport function precisionAdd(a: number, b: number) {\n return fixPrecision(a + b, 10 ** Math.max(getDecimalPlaces(a), getDecimalPlaces(b)));\n}\n\nexport function precisionSub(a: number, b: number) {\n return fixPrecision(a - b, 10 ** Math.max(getDecimalPlaces(a), getDecimalPlaces(b)));\n}\n"]}
package/es/padding.d.ts CHANGED
@@ -4,4 +4,9 @@ export type IPadding = {
4
4
  left?: number;
5
5
  right?: number;
6
6
  };
7
+ /**
8
+ * 将 padding 转换为通用的格式([上,右,下,左])
9
+ * @param padding
10
+ * @return [ top, right, bottom, left ]
11
+ */
7
12
  export declare function normalizePadding(padding: number | number[] | IPadding): number[];
package/es/padding.js CHANGED
@@ -4,7 +4,11 @@ import isArray from "./common/isArray";
4
4
 
5
5
  import isObject from "./common/isObject";
6
6
 
7
- export function normalizePadding(padding) {
7
+ /**
8
+ * 将 padding 转换为通用的格式([上,右,下,左])
9
+ * @param padding
10
+ * @return [ top, right, bottom, left ]
11
+ */ export function normalizePadding(padding) {
8
12
  if (isValidNumber(padding)) return [ padding, padding, padding, padding ];
9
13
  if (isArray(padding)) {
10
14
  const length = padding.length;
package/es/padding.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/padding.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,wBAAwB,CAAC;AACnD,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AAczC,MAAM,UAAU,gBAAgB,CAAC,OAAqC;IACpE,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE;QAC1B,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;KAC7C;IAED,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QACpB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAE9B,IAAI,MAAM,KAAK,CAAC,EAAE;YAChB,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAChC,OAAO,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;SACjE;QAED,IAAI,MAAM,KAAK,CAAC,EAAE;YAChB,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,OAAO,CAAC;YACvC,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;SACrD;QAED,IAAI,MAAM,KAAK,CAAC,EAAE;YAChB,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC;YAC1C,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;SAC9C;QAED,IAAI,MAAM,KAAK,CAAC,EAAE;YAChB,OAAO,OAAO,CAAC;SAChB;KACF;IAED,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE;QACrB,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,GAAG,OAAmB,CAAC;QACzE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;KACnC;IAED,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACtB,CAAC","file":"padding.js","sourcesContent":["import isValidNumber from './common/isValidNumber';\nimport isArray from './common/isArray';\nimport isObject from './common/isObject';\n\nexport type IPadding = {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n};\n\n/**\n * 将 padding 转换为通用的格式([上,右,下,左])\n * @param padding\n * @return [ top, right, bottom, left ]\n */\nexport function normalizePadding(padding: number | number[] | IPadding) {\n if (isValidNumber(padding)) {\n return [padding, padding, padding, padding];\n }\n\n if (isArray(padding)) {\n const length = padding.length;\n\n if (length === 1) {\n const paddingValue = padding[0];\n return [paddingValue, paddingValue, paddingValue, paddingValue];\n }\n\n if (length === 2) {\n const [vertical, horizontal] = padding;\n return [vertical, horizontal, vertical, horizontal];\n }\n\n if (length === 3) {\n const [top, horizontal, bottom] = padding;\n return [top, horizontal, bottom, horizontal];\n }\n\n if (length === 4) {\n return padding;\n }\n }\n\n if (isObject(padding)) {\n const { top = 0, right = 0, bottom = 0, left = 0 } = padding as IPadding;\n return [top, right, bottom, left];\n }\n\n return [0, 0, 0, 0];\n}\n"]}
1
+ {"version":3,"sources":["../src/padding.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,wBAAwB,CAAC;AACnD,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AASzC;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAqC;IACpE,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE;QAC1B,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;KAC7C;IAED,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QACpB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAE9B,IAAI,MAAM,KAAK,CAAC,EAAE;YAChB,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAChC,OAAO,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;SACjE;QAED,IAAI,MAAM,KAAK,CAAC,EAAE;YAChB,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,OAAO,CAAC;YACvC,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;SACrD;QAED,IAAI,MAAM,KAAK,CAAC,EAAE;YAChB,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC;YAC1C,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;SAC9C;QAED,IAAI,MAAM,KAAK,CAAC,EAAE;YAChB,OAAO,OAAO,CAAC;SAChB;KACF;IAED,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE;QACrB,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,GAAG,OAAmB,CAAC;QACzE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;KACnC;IAED,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACtB,CAAC","file":"padding.js","sourcesContent":["import isValidNumber from './common/isValidNumber';\nimport isArray from './common/isArray';\nimport isObject from './common/isObject';\n\nexport type IPadding = {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n};\n\n/**\n * 将 padding 转换为通用的格式([上,右,下,左])\n * @param padding\n * @return [ top, right, bottom, left ]\n */\nexport function normalizePadding(padding: number | number[] | IPadding) {\n if (isValidNumber(padding)) {\n return [padding, padding, padding, padding];\n }\n\n if (isArray(padding)) {\n const length = padding.length;\n\n if (length === 1) {\n const paddingValue = padding[0];\n return [paddingValue, paddingValue, paddingValue, paddingValue];\n }\n\n if (length === 2) {\n const [vertical, horizontal] = padding;\n return [vertical, horizontal, vertical, horizontal];\n }\n\n if (length === 3) {\n const [top, horizontal, bottom] = padding;\n return [top, horizontal, bottom, horizontal];\n }\n\n if (length === 4) {\n return padding;\n }\n }\n\n if (isObject(padding)) {\n const { top = 0, right = 0, bottom = 0, left = 0 } = padding as IPadding;\n return [top, right, bottom, left];\n }\n\n return [0, 0, 0, 0];\n}\n"]}
@@ -13,5 +13,11 @@ export declare function hoursSetterName(isUTC?: boolean): "setUTCHours" | "setHo
13
13
  export declare function minutesSetterName(isUTC?: boolean): "setUTCMinutes" | "setMinutes";
14
14
  export declare function secondsSetterName(isUTC?: boolean): "setUTCSeconds" | "setSeconds";
15
15
  export declare function millisecondsSetterName(isUTC?: boolean): "setUTCMilliseconds" | "setMilliseconds";
16
+ /**
17
+ * 根据时间推断格式化字符串
18
+ * @param value
19
+ * @param isUTC
20
+ * @returns
21
+ */
16
22
  export declare function getFormatFromValue(value: DateLikeType, isUTC?: boolean): "YYYY" | "YYYY-MM" | "YYYY-MM-DD" | "HH" | "HH:mm" | "HH:mm:ss" | "HH:mm:ss SSS";
17
23
  export declare function getTimeFormatter(template: string, isUTC?: boolean): (time: DateLikeType) => string;
@@ -58,7 +58,12 @@ export function millisecondsSetterName(isUTC) {
58
58
  return isUTC ? "setUTCMilliseconds" : "setMilliseconds";
59
59
  }
60
60
 
61
- export function getFormatFromValue(value, isUTC) {
61
+ /**
62
+ * 根据时间推断格式化字符串
63
+ * @param value
64
+ * @param isUTC
65
+ * @returns
66
+ */ export function getFormatFromValue(value, isUTC) {
62
67
  const date = toDate(value), M = date[monthGetterName(isUTC)]() + 1, d = date[dateGetterName(isUTC)](), h = date[hoursGetterName(isUTC)](), m = date[minutesGetterName(isUTC)](), s = date[secondsGetterName(isUTC)](), isSecond = 0 === date[millisecondsGetterName(isUTC)](), isMinute = isSecond && 0 === s, isHour = isMinute && 0 === m, isDay = isHour && 0 === h, isMonth = isDay && 1 === d;
63
68
  return isMonth && 1 === M ? "YYYY" : isMonth ? "YYYY-MM" : isDay ? "YYYY-MM-DD" : isHour ? "HH" : isMinute ? "HH:mm" : isSecond ? "HH:mm:ss" : "HH:mm:ss SSS";
64
69
  }
@@ -66,6 +71,7 @@ export function getFormatFromValue(value, isUTC) {
66
71
  export function getTimeFormatter(template, isUTC) {
67
72
  return time => {
68
73
  const date = toDate(time), y = date[fullYearGetterName(isUTC)](), M = date[monthGetterName(isUTC)]() + 1, q = Math.floor((M - 1) / 3) + 1, d = date[dateGetterName(isUTC)](), e = date["get" + (isUTC ? "UTC" : "") + "Day"](), H = date[hoursGetterName(isUTC)](), h = (H - 1) % 12 + 1, m = date[minutesGetterName(isUTC)](), s = date[secondsGetterName(isUTC)](), S = date[millisecondsGetterName(isUTC)]();
74
+ // 月份,周等需要管理管理locale的时间格式化暂时不支持
69
75
  return (template || "").replace(/YYYY/g, pad(y + "", 4, "0", "left")).replace(/yyyy/g, y + "").replace(/yy/g, y % 100 + "").replace(/Q/g, q + "").replace(/MM/g, pad(M, 2, "0", "left")).replace(/M/g, M + "").replace(/dd/g, pad(d, 2, "0", "left")).replace(/d/g, d + "").replace(/e/g, e + "").replace(/HH/g, pad(H, 2, "0", "left")).replace(/H/g, H + "").replace(/hh/g, pad(h + "", 2, "0", "left")).replace(/h/g, h + "").replace(/mm/g, pad(m, 2, "0", "left")).replace(/m/g, m + "").replace(/ss/g, pad(s, 2, "0", "left")).replace(/s/g, s + "").replace(/SSS/g, pad(S, 3, "0", "left")).replace(/S/g, S + "");
70
76
  };
71
77
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/time/formatUtils.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,eAAe,CAAC;AAEhC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,MAAM,UAAU,kBAAkB,CAAC,KAAe;IAChD,OAAO,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAe;IAC7C,OAAO,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAe;IAC5C,OAAO,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAe;IAC7C,OAAO,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAe;IAC/C,OAAO,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAe;IAC/C,OAAO,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAe;IACpD,OAAO,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,iBAAiB,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAe;IAChD,OAAO,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAe;IAC7C,OAAO,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAe;IAC5C,OAAO,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAe;IAC7C,OAAO,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAe;IAC/C,OAAO,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAe;IAC/C,OAAO,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAe;IACpD,OAAO,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,iBAAiB,CAAC;AAC1D,CAAC;AAQD,MAAM,UAAU,kBAAkB,CAAC,KAAmB,EAAE,KAAe;IACrE,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,MAAM,CAAC,GAAI,IAAY,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtD,MAAM,CAAC,GAAI,IAAY,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;IACjD,MAAM,CAAC,GAAI,IAAY,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;IAClD,MAAM,CAAC,GAAI,IAAY,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;IACpD,MAAM,CAAC,GAAI,IAAY,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;IACpD,MAAM,CAAC,GAAI,IAAY,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;IAEzD,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC;IACzB,MAAM,QAAQ,GAAG,QAAQ,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,QAAQ,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,OAAO,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;IAElC,IAAI,MAAM,EAAE;QACV,OAAO,MAAM,CAAC;KACf;SAAM,IAAI,OAAO,EAAE;QAClB,OAAO,SAAS,CAAC;KAClB;SAAM,IAAI,KAAK,EAAE;QAChB,OAAO,YAAY,CAAC;KACrB;SAAM,IAAI,MAAM,EAAE;QACjB,OAAO,IAAI,CAAC;KACb;SAAM,IAAI,QAAQ,EAAE;QACnB,OAAO,OAAO,CAAC;KAChB;SAAM,IAAI,QAAQ,EAAE;QACnB,OAAO,UAAU,CAAC;KACnB;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAgB,EAAE,KAAe;IAChE,OAAO,CAAC,IAAkB,EAAE,EAAE;QAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC5C,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAA2B,CAAC,EAAE,CAAC;QACnF,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACzC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAGhD,OAAO,CACL,CAAC,QAAQ,IAAI,EAAE,CAAC;aACb,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;aAC7C,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC;aACxB,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;aAC9B,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC;aAGrB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;aACtC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC;aACrB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;aACtC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC;aAGrB,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC;aACrB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;aACtC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC;aACrB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;aAC3C,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC;aACrB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;aACtC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC;aACrB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;aACtC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC;aACrB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;aACvC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,CACzB,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC","file":"formatUtils.js","sourcesContent":["import pad from '../common/pad';\nimport type { DateLikeType } from '../common/toDate';\nimport { toDate } from '../common/toDate';\n\nexport function fullYearGetterName(isUTC?: boolean) {\n return isUTC ? 'getUTCFullYear' : 'getFullYear';\n}\n\nexport function monthGetterName(isUTC?: boolean) {\n return isUTC ? 'getUTCMonth' : 'getMonth';\n}\n\nexport function dateGetterName(isUTC?: boolean) {\n return isUTC ? 'getUTCDate' : 'getDate';\n}\n\nexport function hoursGetterName(isUTC?: boolean) {\n return isUTC ? 'getUTCHours' : 'getHours';\n}\n\nexport function minutesGetterName(isUTC?: boolean) {\n return isUTC ? 'getUTCMinutes' : 'getMinutes';\n}\n\nexport function secondsGetterName(isUTC?: boolean) {\n return isUTC ? 'getUTCSeconds' : 'getSeconds';\n}\n\nexport function millisecondsGetterName(isUTC?: boolean) {\n return isUTC ? 'getUTCMilliseconds' : 'getMilliseconds';\n}\n\nexport function fullYearSetterName(isUTC?: boolean) {\n return isUTC ? 'setUTCFullYear' : 'setFullYear';\n}\n\nexport function monthSetterName(isUTC?: boolean) {\n return isUTC ? 'setUTCMonth' : 'setMonth';\n}\n\nexport function dateSetterName(isUTC?: boolean) {\n return isUTC ? 'setUTCDate' : 'setDate';\n}\n\nexport function hoursSetterName(isUTC?: boolean) {\n return isUTC ? 'setUTCHours' : 'setHours';\n}\n\nexport function minutesSetterName(isUTC?: boolean) {\n return isUTC ? 'setUTCMinutes' : 'setMinutes';\n}\n\nexport function secondsSetterName(isUTC?: boolean) {\n return isUTC ? 'setUTCSeconds' : 'setSeconds';\n}\n\nexport function millisecondsSetterName(isUTC?: boolean) {\n return isUTC ? 'setUTCMilliseconds' : 'setMilliseconds';\n}\n\n/**\n * 根据时间推断格式化字符串\n * @param value\n * @param isUTC\n * @returns\n */\nexport function getFormatFromValue(value: DateLikeType, isUTC?: boolean) {\n const date = toDate(value);\n const M = (date as any)[monthGetterName(isUTC)]() + 1;\n const d = (date as any)[dateGetterName(isUTC)]();\n const h = (date as any)[hoursGetterName(isUTC)]();\n const m = (date as any)[minutesGetterName(isUTC)]();\n const s = (date as any)[secondsGetterName(isUTC)]();\n const S = (date as any)[millisecondsGetterName(isUTC)]();\n\n const isSecond = S === 0;\n const isMinute = isSecond && s === 0;\n const isHour = isMinute && m === 0;\n const isDay = isHour && h === 0;\n const isMonth = isDay && d === 1;\n const isYear = isMonth && M === 1;\n\n if (isYear) {\n return 'YYYY';\n } else if (isMonth) {\n return 'YYYY-MM';\n } else if (isDay) {\n return 'YYYY-MM-DD';\n } else if (isHour) {\n return 'HH';\n } else if (isMinute) {\n return 'HH:mm';\n } else if (isSecond) {\n return 'HH:mm:ss';\n }\n return 'HH:mm:ss SSS';\n}\n\nexport function getTimeFormatter(template: string, isUTC?: boolean) {\n return (time: DateLikeType) => {\n const date = toDate(time);\n const y = date[fullYearGetterName(isUTC)]();\n const M = date[monthGetterName(isUTC)]() + 1;\n const q = Math.floor((M - 1) / 3) + 1;\n const d = date[dateGetterName(isUTC)]();\n const e = date[('get' + (isUTC ? 'UTC' : '') + 'Day') as 'getDay' | 'getUTCDay']();\n const H = date[hoursGetterName(isUTC)]();\n const h = ((H - 1) % 12) + 1;\n const m = date[minutesGetterName(isUTC)]();\n const s = date[secondsGetterName(isUTC)]();\n const S = date[millisecondsGetterName(isUTC)]();\n\n // 月份,周等需要管理管理locale的时间格式化暂时不支持\n return (\n (template || '')\n .replace(/YYYY/g, pad(y + '', 4, '0', 'left'))\n .replace(/yyyy/g, y + '')\n .replace(/yy/g, (y % 100) + '')\n .replace(/Q/g, q + '')\n // .replace(/{MMMM}/g, month[M - 1])\n // .replace(/{MMM}/g, monthAbbr[M - 1])\n .replace(/MM/g, pad(M, 2, '0', 'left'))\n .replace(/M/g, M + '')\n .replace(/dd/g, pad(d, 2, '0', 'left'))\n .replace(/d/g, d + '')\n // .replace(/{eeee}/g, dayOfWeek[e])\n // .replace(/{ee}/g, dayOfWeekAbbr[e])\n .replace(/e/g, e + '')\n .replace(/HH/g, pad(H, 2, '0', 'left'))\n .replace(/H/g, H + '')\n .replace(/hh/g, pad(h + '', 2, '0', 'left'))\n .replace(/h/g, h + '')\n .replace(/mm/g, pad(m, 2, '0', 'left'))\n .replace(/m/g, m + '')\n .replace(/ss/g, pad(s, 2, '0', 'left'))\n .replace(/s/g, s + '')\n .replace(/SSS/g, pad(S, 3, '0', 'left'))\n .replace(/S/g, S + '')\n );\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/time/formatUtils.ts"],"names":[],"mappings":"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","file":"formatUtils.js","sourcesContent":["import pad from '../common/pad';\nimport type { DateLikeType } from '../common/toDate';\nimport { toDate } from '../common/toDate';\n\nexport function fullYearGetterName(isUTC?: boolean) {\n return isUTC ? 'getUTCFullYear' : 'getFullYear';\n}\n\nexport function monthGetterName(isUTC?: boolean) {\n return isUTC ? 'getUTCMonth' : 'getMonth';\n}\n\nexport function dateGetterName(isUTC?: boolean) {\n return isUTC ? 'getUTCDate' : 'getDate';\n}\n\nexport function hoursGetterName(isUTC?: boolean) {\n return isUTC ? 'getUTCHours' : 'getHours';\n}\n\nexport function minutesGetterName(isUTC?: boolean) {\n return isUTC ? 'getUTCMinutes' : 'getMinutes';\n}\n\nexport function secondsGetterName(isUTC?: boolean) {\n return isUTC ? 'getUTCSeconds' : 'getSeconds';\n}\n\nexport function millisecondsGetterName(isUTC?: boolean) {\n return isUTC ? 'getUTCMilliseconds' : 'getMilliseconds';\n}\n\nexport function fullYearSetterName(isUTC?: boolean) {\n return isUTC ? 'setUTCFullYear' : 'setFullYear';\n}\n\nexport function monthSetterName(isUTC?: boolean) {\n return isUTC ? 'setUTCMonth' : 'setMonth';\n}\n\nexport function dateSetterName(isUTC?: boolean) {\n return isUTC ? 'setUTCDate' : 'setDate';\n}\n\nexport function hoursSetterName(isUTC?: boolean) {\n return isUTC ? 'setUTCHours' : 'setHours';\n}\n\nexport function minutesSetterName(isUTC?: boolean) {\n return isUTC ? 'setUTCMinutes' : 'setMinutes';\n}\n\nexport function secondsSetterName(isUTC?: boolean) {\n return isUTC ? 'setUTCSeconds' : 'setSeconds';\n}\n\nexport function millisecondsSetterName(isUTC?: boolean) {\n return isUTC ? 'setUTCMilliseconds' : 'setMilliseconds';\n}\n\n/**\n * 根据时间推断格式化字符串\n * @param value\n * @param isUTC\n * @returns\n */\nexport function getFormatFromValue(value: DateLikeType, isUTC?: boolean) {\n const date = toDate(value);\n const M = (date as any)[monthGetterName(isUTC)]() + 1;\n const d = (date as any)[dateGetterName(isUTC)]();\n const h = (date as any)[hoursGetterName(isUTC)]();\n const m = (date as any)[minutesGetterName(isUTC)]();\n const s = (date as any)[secondsGetterName(isUTC)]();\n const S = (date as any)[millisecondsGetterName(isUTC)]();\n\n const isSecond = S === 0;\n const isMinute = isSecond && s === 0;\n const isHour = isMinute && m === 0;\n const isDay = isHour && h === 0;\n const isMonth = isDay && d === 1;\n const isYear = isMonth && M === 1;\n\n if (isYear) {\n return 'YYYY';\n } else if (isMonth) {\n return 'YYYY-MM';\n } else if (isDay) {\n return 'YYYY-MM-DD';\n } else if (isHour) {\n return 'HH';\n } else if (isMinute) {\n return 'HH:mm';\n } else if (isSecond) {\n return 'HH:mm:ss';\n }\n return 'HH:mm:ss SSS';\n}\n\nexport function getTimeFormatter(template: string, isUTC?: boolean) {\n return (time: DateLikeType) => {\n const date = toDate(time);\n const y = date[fullYearGetterName(isUTC)]();\n const M = date[monthGetterName(isUTC)]() + 1;\n const q = Math.floor((M - 1) / 3) + 1;\n const d = date[dateGetterName(isUTC)]();\n const e = date[('get' + (isUTC ? 'UTC' : '') + 'Day') as 'getDay' | 'getUTCDay']();\n const H = date[hoursGetterName(isUTC)]();\n const h = ((H - 1) % 12) + 1;\n const m = date[minutesGetterName(isUTC)]();\n const s = date[secondsGetterName(isUTC)]();\n const S = date[millisecondsGetterName(isUTC)]();\n\n // 月份,周等需要管理管理locale的时间格式化暂时不支持\n return (\n (template || '')\n .replace(/YYYY/g, pad(y + '', 4, '0', 'left'))\n .replace(/yyyy/g, y + '')\n .replace(/yy/g, (y % 100) + '')\n .replace(/Q/g, q + '')\n // .replace(/{MMMM}/g, month[M - 1])\n // .replace(/{MMM}/g, monthAbbr[M - 1])\n .replace(/MM/g, pad(M, 2, '0', 'left'))\n .replace(/M/g, M + '')\n .replace(/dd/g, pad(d, 2, '0', 'left'))\n .replace(/d/g, d + '')\n // .replace(/{eeee}/g, dayOfWeek[e])\n // .replace(/{ee}/g, dayOfWeekAbbr[e])\n .replace(/e/g, e + '')\n .replace(/HH/g, pad(H, 2, '0', 'left'))\n .replace(/H/g, H + '')\n .replace(/hh/g, pad(h + '', 2, '0', 'left'))\n .replace(/h/g, h + '')\n .replace(/mm/g, pad(m, 2, '0', 'left'))\n .replace(/m/g, m + '')\n .replace(/ss/g, pad(s, 2, '0', 'left'))\n .replace(/s/g, s + '')\n .replace(/SSS/g, pad(S, 3, '0', 'left'))\n .replace(/S/g, S + '')\n );\n };\n}\n"]}
package/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "name": "@visactor/vutils",
3
- "version": "1.0.24",
3
+ "version": "1.0.26",
4
4
  "main": "cjs/index.js",
5
5
  "module": "es/index.js",
6
6
  "types": "es/index.d.ts",
7
7
  "files": [
8
8
  "cjs",
9
9
  "es",
10
- "dist"
10
+ "dist",
11
+ "REGRESSION.md"
11
12
  ],
12
13
  "description": "util",
13
14
  "author": {
@@ -36,8 +37,8 @@
36
37
  "typescript": "4.9.5",
37
38
  "@types/node": "*",
38
39
  "@internal/bundler": "0.0.1",
39
- "@internal/ts-config": "0.0.1",
40
40
  "@internal/eslint-config": "0.0.1",
41
+ "@internal/ts-config": "0.0.1",
41
42
  "@internal/jest-config": "0.0.1"
42
43
  },
43
44
  "dependencies": {