@yelon/util 12.0.19 → 13.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (307) hide show
  1. package/README.md +1 -1
  2. package/{date-time/yelon-util-date-time.d.ts → array/array.d.ts} +1 -0
  3. package/array/array.service.d.ts +3 -0
  4. package/array/package.json +6 -7
  5. package/browser/browser.d.ts +1 -0
  6. package/browser/cookie.service.d.ts +3 -0
  7. package/browser/copy.d.ts +1 -1
  8. package/browser/package.json +5 -6
  9. package/browser/scroll.service.d.ts +3 -0
  10. package/config/config.d.ts +5 -0
  11. package/config/config.service.d.ts +3 -0
  12. package/config/package.json +6 -7
  13. package/date-time/date-time.d.ts +5 -0
  14. package/date-time/package.json +6 -7
  15. package/decorator/decorator.d.ts +5 -0
  16. package/decorator/package.json +6 -7
  17. package/{esm2015/array/array-type.service.js → esm2020/array/array-type.service.mjs} +0 -0
  18. package/esm2020/array/array.mjs +5 -0
  19. package/esm2020/array/array.service.mjs +278 -0
  20. package/{esm2015/array/index.js → esm2020/array/index.mjs} +0 -0
  21. package/{esm2015/browser/browser.js → esm2020/browser/browser.mjs} +0 -0
  22. package/esm2020/browser/cookie.service.mjs +103 -0
  23. package/esm2020/browser/copy.mjs +9 -0
  24. package/{esm2015/browser/index.js → esm2020/browser/index.mjs} +0 -0
  25. package/{esm2015/browser/is-empty.js → esm2020/browser/is-empty.mjs} +0 -0
  26. package/esm2020/browser/scroll.service.mjs +88 -0
  27. package/{esm2015/browser/style.js → esm2020/browser/style.mjs} +2 -2
  28. package/{esm2015/config/abc/date-picker.type.js → esm2020/config/abc/date-picker.type.mjs} +0 -0
  29. package/{esm2015/config/abc/error-collect.type.js → esm2020/config/abc/error-collect.type.mjs} +0 -0
  30. package/{esm2015/config/abc/image.type.js → esm2020/config/abc/image.type.mjs} +0 -0
  31. package/{esm2015/config/abc/index.js → esm2020/config/abc/index.mjs} +0 -0
  32. package/{esm2015/config/abc/loading.type.js → esm2020/config/abc/loading.type.mjs} +0 -0
  33. package/{esm2015/config/abc/lodop.type.js → esm2020/config/abc/lodop.type.mjs} +0 -0
  34. package/{esm2015/config/abc/media.type.js → esm2020/config/abc/media.type.mjs} +0 -0
  35. package/{esm2015/config/abc/onboarding.type.js → esm2020/config/abc/onboarding.type.mjs} +0 -0
  36. package/{esm2015/config/abc/page-header.type.js → esm2020/config/abc/page-header.type.mjs} +0 -0
  37. package/{esm2015/config/abc/pdf.type.js → esm2020/config/abc/pdf.type.mjs} +0 -0
  38. package/{esm2015/config/abc/qr.type.js → esm2020/config/abc/qr.type.mjs} +0 -0
  39. package/{esm2015/config/abc/se.type.js → esm2020/config/abc/se.type.mjs} +0 -0
  40. package/{esm2015/config/abc/sg.type.js → esm2020/config/abc/sg.type.mjs} +0 -0
  41. package/{esm2015/config/abc/st.type.js → esm2020/config/abc/st.type.mjs} +0 -0
  42. package/{esm2015/config/abc/sv.type.js → esm2020/config/abc/sv.type.mjs} +0 -0
  43. package/{esm2015/config/abc/xlsx.type.js → esm2020/config/abc/xlsx.type.mjs} +0 -0
  44. package/{esm2015/config/abc/zip.type.js → esm2020/config/abc/zip.type.mjs} +0 -0
  45. package/{esm2015/config/acl/acl.type.js → esm2020/config/acl/acl.type.mjs} +0 -0
  46. package/{esm2015/config/auth/auth.type.js → esm2020/config/auth/auth.type.mjs} +0 -0
  47. package/{esm2015/config/bis/bis.type.js → esm2020/config/bis/bis.type.mjs} +0 -0
  48. package/{esm2015/config/cache/cache.type.js → esm2020/config/cache/cache.type.mjs} +0 -0
  49. package/{esm2015/config/chart/chart.type.js → esm2020/config/chart/chart.type.mjs} +0 -0
  50. package/esm2020/config/config.mjs +5 -0
  51. package/esm2020/config/config.service.mjs +37 -0
  52. package/{esm2015/config/config.types.js → esm2020/config/config.types.mjs} +0 -0
  53. package/{esm2015/config/index.js → esm2020/config/index.mjs} +0 -0
  54. package/{esm2015/config/mock/mock.type.js → esm2020/config/mock/mock.type.mjs} +0 -0
  55. package/{esm2015/config/sf/sf.type.js → esm2020/config/sf/sf.type.mjs} +0 -0
  56. package/{esm2015/config/stomp/stomp.type.js → esm2020/config/stomp/stomp.type.mjs} +0 -0
  57. package/{esm2015/config/theme/http.type.js → esm2020/config/theme/http.type.mjs} +0 -0
  58. package/{esm2015/config/theme/i18n.type.js → esm2020/config/theme/i18n.type.mjs} +0 -0
  59. package/{esm2015/config/theme/index.js → esm2020/config/theme/index.mjs} +0 -0
  60. package/{esm2015/config/theme/responsive.type.js → esm2020/config/theme/responsive.type.mjs} +0 -0
  61. package/{esm2015/config/util/array.type.js → esm2020/config/util/array.type.mjs} +0 -0
  62. package/{esm2015/config/util/currency.type.js → esm2020/config/util/currency.type.mjs} +0 -0
  63. package/esm2020/date-time/date-time.mjs +5 -0
  64. package/{esm2015/date-time/index.js → esm2020/date-time/index.mjs} +0 -0
  65. package/esm2020/date-time/picker.mjs +116 -0
  66. package/{esm2015/date-time/time.js → esm2020/date-time/time.mjs} +6 -2
  67. package/esm2020/decorator/convert.mjs +58 -0
  68. package/esm2020/decorator/decorator.mjs +5 -0
  69. package/{esm2015/decorator/index.js → esm2020/decorator/index.mjs} +0 -0
  70. package/esm2020/decorator/zone-outside.mjs +57 -0
  71. package/esm2020/form/form.mjs +5 -0
  72. package/{esm2015/form/index.js → esm2020/form/index.mjs} +0 -0
  73. package/{esm2015/form/match-control.js → esm2020/form/match-control.mjs} +0 -0
  74. package/{esm2015/form/validators.js → esm2020/form/validators.mjs} +0 -0
  75. package/esm2020/format/currency.service.mjs +238 -0
  76. package/{esm2015/format/currency.types.js → esm2020/format/currency.types.mjs} +0 -0
  77. package/esm2020/format/format.mjs +5 -0
  78. package/{esm2015/format/index.js → esm2020/format/index.mjs} +0 -0
  79. package/esm2020/format/string.mjs +85 -0
  80. package/{esm2015/format/validate.js → esm2020/format/validate.mjs} +0 -0
  81. package/{esm2015/index.js → esm2020/index.mjs} +0 -0
  82. package/{esm2015/math/in-range.js → esm2020/math/in-range.mjs} +0 -0
  83. package/{esm2015/math/index.js → esm2020/math/index.mjs} +0 -0
  84. package/esm2020/math/math.mjs +5 -0
  85. package/{esm2015/math/round.js → esm2020/math/round.mjs} +0 -0
  86. package/{esm2015/other/assert.js → esm2020/other/assert.mjs} +0 -0
  87. package/{esm2015/other/deep.js → esm2020/other/deep.mjs} +0 -0
  88. package/{esm2015/other/index.js → esm2020/other/index.mjs} +0 -0
  89. package/esm2020/other/lazy.service.mjs +104 -0
  90. package/{esm2015/other/logger.js → esm2020/other/logger.mjs} +0 -0
  91. package/esm2020/other/other.mjs +5 -0
  92. package/{esm2015/other/resize.js → esm2020/other/resize.mjs} +0 -0
  93. package/{esm2015/other/url.js → esm2020/other/url.mjs} +0 -0
  94. package/esm2020/pipes/currency/cny.pipe.mjs +23 -0
  95. package/{esm2015/pipes/currency/index.js → esm2020/pipes/currency/index.mjs} +2 -1
  96. package/esm2020/pipes/currency/mega.pipe.mjs +29 -0
  97. package/esm2020/pipes/currency/module.mjs +19 -0
  98. package/esm2020/pipes/currency/pipe-currency.mjs +5 -0
  99. package/esm2020/pipes/currency/price.pipe.mjs +27 -0
  100. package/esm2020/pipes/filter/filter.pipe.mjs +19 -0
  101. package/{esm2015/pipes/filter/index.js → esm2020/pipes/filter/index.mjs} +0 -0
  102. package/esm2020/pipes/filter/module.mjs +17 -0
  103. package/{esm2015/other/yelon-util-other.js → esm2020/pipes/filter/pipe-filter.mjs} +1 -1
  104. package/{esm2015/pipes/format/index.js → esm2020/pipes/format/index.mjs} +0 -0
  105. package/esm2020/pipes/format/mask.pipe.mjs +34 -0
  106. package/esm2020/pipes/format/module.mjs +17 -0
  107. package/{esm2015/array/yelon-util-array.js → esm2020/pipes/format/pipe-format.mjs} +1 -1
  108. package/{esm2015/pipes/index.js → esm2020/pipes/index.mjs} +0 -0
  109. package/esm2020/pipes/pipes.mjs +5 -0
  110. package/{esm2015/token/index.js → esm2020/token/index.mjs} +0 -0
  111. package/{esm2015/token/page-visibility.js → esm2020/token/page-visibility.mjs} +0 -0
  112. package/esm2020/token/token.mjs +5 -0
  113. package/{esm2015/token/window.js → esm2020/token/window.mjs} +0 -0
  114. package/{esm2015/yelon-util.js → esm2020/yelon-util.mjs} +0 -0
  115. package/fesm2015/{yelon-util-array.js → array.mjs} +8 -10
  116. package/fesm2015/array.mjs.map +1 -0
  117. package/fesm2015/{browser.js → browser.mjs} +28 -42
  118. package/fesm2015/browser.mjs.map +1 -0
  119. package/fesm2015/{yelon-util-config.js → config.mjs} +14 -8
  120. package/fesm2015/config.mjs.map +1 -0
  121. package/fesm2015/{yelon-util-date-time.js → date-time.mjs} +1 -1
  122. package/fesm2015/date-time.mjs.map +1 -0
  123. package/fesm2015/{yelon-util-decorator.js → decorator.mjs} +8 -4
  124. package/fesm2015/decorator.mjs.map +1 -0
  125. package/fesm2015/{yelon-util-form.js → form.mjs} +1 -1
  126. package/fesm2015/form.mjs.map +1 -0
  127. package/fesm2015/{yelon-util-format.js → format.mjs} +18 -14
  128. package/fesm2015/format.mjs.map +1 -0
  129. package/fesm2015/{yelon-util-math.js → math.mjs} +1 -1
  130. package/fesm2015/math.mjs.map +1 -0
  131. package/fesm2015/{yelon-util-other.js → other.mjs} +17 -29
  132. package/fesm2015/other.mjs.map +1 -0
  133. package/fesm2015/pipe-currency.mjs +96 -0
  134. package/fesm2015/pipe-currency.mjs.map +1 -0
  135. package/fesm2015/pipe-filter.mjs +40 -0
  136. package/fesm2015/pipe-filter.mjs.map +1 -0
  137. package/fesm2015/pipe-format.mjs +55 -0
  138. package/fesm2015/pipe-format.mjs.map +1 -0
  139. package/fesm2015/{yelon-util-pipes.js → pipes.mjs} +1 -1
  140. package/fesm2015/pipes.mjs.map +1 -0
  141. package/fesm2015/{yelon-util-token.js → token.mjs} +1 -1
  142. package/fesm2015/token.mjs.map +1 -0
  143. package/fesm2015/{yelon-util.js → yelon-util.mjs} +1 -1
  144. package/fesm2015/yelon-util.mjs.map +1 -0
  145. package/fesm2020/array.mjs +285 -0
  146. package/fesm2020/array.mjs.map +1 -0
  147. package/fesm2020/browser.mjs +260 -0
  148. package/fesm2020/browser.mjs.map +1 -0
  149. package/fesm2020/config.mjs +54 -0
  150. package/fesm2020/config.mjs.map +1 -0
  151. package/fesm2020/date-time.mjs +210 -0
  152. package/fesm2020/date-time.mjs.map +1 -0
  153. package/fesm2020/decorator.mjs +121 -0
  154. package/fesm2020/decorator.mjs.map +1 -0
  155. package/fesm2020/form.mjs +118 -0
  156. package/fesm2020/form.mjs.map +1 -0
  157. package/fesm2020/format.mjs +431 -0
  158. package/fesm2020/format.mjs.map +1 -0
  159. package/fesm2020/math.mjs +85 -0
  160. package/fesm2020/math.mjs.map +1 -0
  161. package/fesm2020/other.mjs +303 -0
  162. package/fesm2020/other.mjs.map +1 -0
  163. package/fesm2020/pipe-currency.mjs +94 -0
  164. package/fesm2020/pipe-currency.mjs.map +1 -0
  165. package/fesm2020/pipe-filter.mjs +40 -0
  166. package/fesm2020/pipe-filter.mjs.map +1 -0
  167. package/fesm2020/pipe-format.mjs +55 -0
  168. package/fesm2020/pipe-format.mjs.map +1 -0
  169. package/fesm2020/pipes.mjs +8 -0
  170. package/fesm2020/pipes.mjs.map +1 -0
  171. package/fesm2020/token.mjs +38 -0
  172. package/fesm2020/token.mjs.map +1 -0
  173. package/fesm2020/yelon-util.mjs +16 -0
  174. package/fesm2020/yelon-util.mjs.map +1 -0
  175. package/{array/yelon-util-array.d.ts → form/form.d.ts} +1 -0
  176. package/form/package.json +6 -7
  177. package/format/currency.service.d.ts +3 -0
  178. package/format/format.d.ts +5 -0
  179. package/format/package.json +6 -7
  180. package/{config/yelon-util-config.d.ts → math/math.d.ts} +1 -0
  181. package/math/package.json +6 -7
  182. package/other/lazy.service.d.ts +3 -0
  183. package/{decorator/yelon-util-decorator.d.ts → other/other.d.ts} +1 -0
  184. package/other/package.json +6 -7
  185. package/package.json +132 -8
  186. package/pipes/currency/cny.pipe.d.ts +3 -0
  187. package/pipes/currency/index.d.ts +1 -0
  188. package/pipes/currency/mega.pipe.d.ts +3 -0
  189. package/pipes/currency/module.d.ts +7 -0
  190. package/pipes/currency/package.json +6 -7
  191. package/pipes/currency/pipe-currency.d.ts +5 -0
  192. package/pipes/currency/price.pipe.d.ts +3 -0
  193. package/pipes/filter/filter.pipe.d.ts +3 -0
  194. package/pipes/filter/module.d.ts +5 -0
  195. package/pipes/filter/package.json +6 -7
  196. package/pipes/filter/pipe-filter.d.ts +5 -0
  197. package/pipes/format/mask.pipe.d.ts +3 -0
  198. package/pipes/format/module.d.ts +5 -0
  199. package/pipes/format/package.json +6 -7
  200. package/pipes/format/pipe-format.d.ts +5 -0
  201. package/pipes/package.json +6 -7
  202. package/pipes/pipes.d.ts +5 -0
  203. package/token/package.json +6 -7
  204. package/token/token.d.ts +5 -0
  205. package/yelon-util.d.ts +1 -0
  206. package/array/yelon-util-array.metadata.json +0 -1
  207. package/browser/browser.metadata.json +0 -1
  208. package/bundles/browser.umd.js +0 -325
  209. package/bundles/browser.umd.js.map +0 -1
  210. package/bundles/yelon-util-array.umd.js +0 -641
  211. package/bundles/yelon-util-array.umd.js.map +0 -1
  212. package/bundles/yelon-util-config.umd.js +0 -411
  213. package/bundles/yelon-util-config.umd.js.map +0 -1
  214. package/bundles/yelon-util-date-time.umd.js +0 -238
  215. package/bundles/yelon-util-date-time.umd.js.map +0 -1
  216. package/bundles/yelon-util-decorator.umd.js +0 -462
  217. package/bundles/yelon-util-decorator.umd.js.map +0 -1
  218. package/bundles/yelon-util-form.umd.js +0 -135
  219. package/bundles/yelon-util-form.umd.js.map +0 -1
  220. package/bundles/yelon-util-format.umd.js +0 -785
  221. package/bundles/yelon-util-format.umd.js.map +0 -1
  222. package/bundles/yelon-util-math.umd.js +0 -104
  223. package/bundles/yelon-util-math.umd.js.map +0 -1
  224. package/bundles/yelon-util-other.umd.js +0 -733
  225. package/bundles/yelon-util-other.umd.js.map +0 -1
  226. package/bundles/yelon-util-pipes-currency.umd.js +0 -108
  227. package/bundles/yelon-util-pipes-currency.umd.js.map +0 -1
  228. package/bundles/yelon-util-pipes-filter.umd.js +0 -374
  229. package/bundles/yelon-util-pipes-filter.umd.js.map +0 -1
  230. package/bundles/yelon-util-pipes-format.umd.js +0 -66
  231. package/bundles/yelon-util-pipes-format.umd.js.map +0 -1
  232. package/bundles/yelon-util-pipes.umd.js +0 -38
  233. package/bundles/yelon-util-pipes.umd.js.map +0 -1
  234. package/bundles/yelon-util-token.umd.js +0 -49
  235. package/bundles/yelon-util-token.umd.js.map +0 -1
  236. package/bundles/yelon-util.umd.js +0 -86
  237. package/bundles/yelon-util.umd.js.map +0 -1
  238. package/config/yelon-util-config.metadata.json +0 -1
  239. package/date-time/yelon-util-date-time.metadata.json +0 -1
  240. package/decorator/yelon-util-decorator.metadata.json +0 -1
  241. package/esm2015/array/array.service.js +0 -250
  242. package/esm2015/browser/cookie.service.js +0 -104
  243. package/esm2015/browser/copy.js +0 -27
  244. package/esm2015/browser/scroll.service.js +0 -89
  245. package/esm2015/config/config.service.js +0 -34
  246. package/esm2015/config/yelon-util-config.js +0 -5
  247. package/esm2015/date-time/picker.js +0 -116
  248. package/esm2015/date-time/yelon-util-date-time.js +0 -5
  249. package/esm2015/decorator/convert.js +0 -56
  250. package/esm2015/decorator/yelon-util-decorator.js +0 -5
  251. package/esm2015/decorator/zone-outside.js +0 -55
  252. package/esm2015/form/yelon-util-form.js +0 -5
  253. package/esm2015/format/currency.service.js +0 -225
  254. package/esm2015/format/string.js +0 -76
  255. package/esm2015/format/yelon-util-format.js +0 -5
  256. package/esm2015/math/yelon-util-math.js +0 -5
  257. package/esm2015/other/lazy.service.js +0 -118
  258. package/esm2015/pipes/currency/cny.pipe.js +0 -22
  259. package/esm2015/pipes/currency/mega.pipe.js +0 -26
  260. package/esm2015/pipes/currency/module.js +0 -14
  261. package/esm2015/pipes/currency/price.pipe.js +0 -26
  262. package/esm2015/pipes/currency/yelon-util-pipes-currency.js +0 -6
  263. package/esm2015/pipes/filter/filter.pipe.js +0 -15
  264. package/esm2015/pipes/filter/module.js +0 -12
  265. package/esm2015/pipes/filter/yelon-util-pipes-filter.js +0 -5
  266. package/esm2015/pipes/format/mask.pipe.js +0 -30
  267. package/esm2015/pipes/format/module.js +0 -12
  268. package/esm2015/pipes/format/yelon-util-pipes-format.js +0 -5
  269. package/esm2015/pipes/yelon-util-pipes.js +0 -5
  270. package/esm2015/token/yelon-util-token.js +0 -5
  271. package/fesm2015/browser.js.map +0 -1
  272. package/fesm2015/yelon-util-array.js.map +0 -1
  273. package/fesm2015/yelon-util-config.js.map +0 -1
  274. package/fesm2015/yelon-util-date-time.js.map +0 -1
  275. package/fesm2015/yelon-util-decorator.js.map +0 -1
  276. package/fesm2015/yelon-util-form.js.map +0 -1
  277. package/fesm2015/yelon-util-format.js.map +0 -1
  278. package/fesm2015/yelon-util-math.js.map +0 -1
  279. package/fesm2015/yelon-util-other.js.map +0 -1
  280. package/fesm2015/yelon-util-pipes-currency.js +0 -87
  281. package/fesm2015/yelon-util-pipes-currency.js.map +0 -1
  282. package/fesm2015/yelon-util-pipes-filter.js +0 -32
  283. package/fesm2015/yelon-util-pipes-filter.js.map +0 -1
  284. package/fesm2015/yelon-util-pipes-format.js +0 -47
  285. package/fesm2015/yelon-util-pipes-format.js.map +0 -1
  286. package/fesm2015/yelon-util-pipes.js.map +0 -1
  287. package/fesm2015/yelon-util-token.js.map +0 -1
  288. package/fesm2015/yelon-util.js.map +0 -1
  289. package/form/yelon-util-form.d.ts +0 -4
  290. package/form/yelon-util-form.metadata.json +0 -1
  291. package/format/yelon-util-format.d.ts +0 -4
  292. package/format/yelon-util-format.metadata.json +0 -1
  293. package/math/yelon-util-math.d.ts +0 -4
  294. package/math/yelon-util-math.metadata.json +0 -1
  295. package/other/yelon-util-other.d.ts +0 -4
  296. package/other/yelon-util-other.metadata.json +0 -1
  297. package/pipes/currency/yelon-util-pipes-currency.d.ts +0 -5
  298. package/pipes/currency/yelon-util-pipes-currency.metadata.json +0 -1
  299. package/pipes/filter/yelon-util-pipes-filter.d.ts +0 -4
  300. package/pipes/filter/yelon-util-pipes-filter.metadata.json +0 -1
  301. package/pipes/format/yelon-util-pipes-format.d.ts +0 -4
  302. package/pipes/format/yelon-util-pipes-format.metadata.json +0 -1
  303. package/pipes/yelon-util-pipes.d.ts +0 -4
  304. package/pipes/yelon-util-pipes.metadata.json +0 -1
  305. package/token/yelon-util-token.d.ts +0 -4
  306. package/token/yelon-util-token.metadata.json +0 -1
  307. package/yelon-util.metadata.json +0 -1
@@ -1,238 +0,0 @@
1
- /**
2
- * @license ng-yunzai(devcui@outlook.com) v12.0.19
3
- * (c) 2020 devcui https://github.com/hbyunzai/yelon/
4
- * License: MIT
5
- */
6
- (function (global, factory) {
7
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('date-fns')) :
8
- typeof define === 'function' && define.amd ? define('@yelon/util/date-time', ['exports', 'date-fns'], factory) :
9
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.yelon = global.yelon || {}, global.yelon.util = global.yelon.util || {}, global.yelon.util["date-time"] = {}), global.dateFns));
10
- })(this, (function (exports, dateFns) { 'use strict';
11
-
12
- /**
13
- * Get the time range, return `[ Date, Date]` for the start and end dates
14
- *
15
- * 获取时间范围
16
- *
17
- * @param type 类型,带 `-` 表示过去一个时间,若指定 `number` 表示天数
18
- * @param time 开始时间
19
- */
20
- function getTimeDistance(type, time) {
21
- time = time
22
- ? typeof time === 'string'
23
- ? dateFns.parse(time, 'yyyy-MM-dd HH:mm:ss', new Date())
24
- : new Date(time)
25
- : new Date();
26
- var options = { weekStartsOn: 1 };
27
- var res;
28
- switch (type) {
29
- case 'today':
30
- res = [time, time];
31
- break;
32
- case '-today':
33
- res = [dateFns.addDays(time, -1), time];
34
- break;
35
- case 'yesterday':
36
- res = [dateFns.addDays(time, -1), dateFns.addDays(time, -1)];
37
- break;
38
- case 'week':
39
- res = [dateFns.startOfWeek(time, options), dateFns.endOfWeek(time, options)];
40
- break;
41
- case '-week':
42
- res = [dateFns.startOfWeek(dateFns.subWeeks(time, 1), options), dateFns.endOfWeek(dateFns.subWeeks(time, 1), options)];
43
- break;
44
- case 'month':
45
- res = [dateFns.startOfMonth(time), dateFns.endOfMonth(time)];
46
- break;
47
- case '-month':
48
- res = [dateFns.startOfMonth(dateFns.subMonths(time, 1)), dateFns.endOfMonth(dateFns.subMonths(time, 1))];
49
- break;
50
- case 'year':
51
- res = [dateFns.startOfYear(time), dateFns.endOfYear(time)];
52
- break;
53
- case '-year':
54
- res = [dateFns.startOfYear(dateFns.subYears(time, 1)), dateFns.endOfYear(dateFns.subYears(time, 1))];
55
- break;
56
- default:
57
- res = type > 0 ? [time, dateFns.addDays(time, type)] : [dateFns.addDays(time, type), time];
58
- break;
59
- }
60
- return fixEndTimeOfRange(res);
61
- }
62
- /**
63
- * fix time is the most, big value
64
- */
65
- function fixEndTimeOfRange(dates) {
66
- return [dateFns.startOfDay(dates[0]), dateFns.endOfDay(dates[1])];
67
- }
68
- /**
69
- * Return the date parsed from string using the given format string
70
- * - If the argument is a number, it is treated as a timestamp.
71
- *
72
- * @param formatString If parsing fails try to parse the date by pressing `formatString`
73
- * @param defaultValue If parsing fails returned default value, default: `new Date(NaN)`
74
- */
75
- function toDate(value, options) {
76
- if (typeof options === 'string')
77
- options = { formatString: options };
78
- var _a = Object.assign({ formatString: 'yyyy-MM-dd HH:mm:ss', defaultValue: new Date(NaN) }, options), formatString = _a.formatString, defaultValue = _a.defaultValue;
79
- if (value == null) {
80
- return defaultValue;
81
- }
82
- if (value instanceof Date) {
83
- return value;
84
- }
85
- if (typeof value === 'number' || (typeof value === 'string' && /[0-9]{10,13}/.test(value))) {
86
- return new Date(+value);
87
- }
88
- var tryDate = dateFns.parseISO(value);
89
- if (isNaN(tryDate)) {
90
- tryDate = dateFns.parse(value, formatString, new Date());
91
- }
92
- return isNaN(tryDate) ? defaultValue : tryDate;
93
- }
94
-
95
- // TODO: timezone process
96
- var DateTimePickerUtil = /** @class */ (function () {
97
- function DateTimePickerUtil() {
98
- }
99
- Object.defineProperty(DateTimePickerUtil.prototype, "now", {
100
- /**
101
- * Current local time
102
- *
103
- * 当前本地时间
104
- */
105
- get: function () {
106
- return new Date();
107
- },
108
- enumerable: false,
109
- configurable: true
110
- });
111
- Object.defineProperty(DateTimePickerUtil.prototype, "date", {
112
- /**
113
- * Current local date (not including time part)
114
- *
115
- * 当前本地日期(不包含时间部分)
116
- */
117
- get: function () {
118
- return this.removeTime(this.now);
119
- },
120
- enumerable: false,
121
- configurable: true
122
- });
123
- /**
124
- * Remove the time part of the date
125
- *
126
- * 移除日期的时间部分
127
- */
128
- DateTimePickerUtil.prototype.removeTime = function (d) {
129
- return new Date(d.toDateString());
130
- };
131
- /**
132
- * Format date-time
133
- *
134
- * 格式化日期
135
- */
136
- DateTimePickerUtil.prototype.format = function (d, formatString) {
137
- if (formatString === void 0) { formatString = 'yyyy-MM-dd HH:mm:ss'; }
138
- return dateFns.format(d, formatString);
139
- };
140
- DateTimePickerUtil.prototype.genTick = function (count) {
141
- return new Array(count).fill(0).map(function (_, idx) { return idx; });
142
- };
143
- /**
144
- * Calculate the number of days between two dates, `0` means the same day
145
- *
146
- * 计算两个日期相差天数,`0` 表示同一天
147
- */
148
- DateTimePickerUtil.prototype.getDiffDays = function (dateLeft, dateRight) {
149
- return dateFns.differenceInCalendarDays(dateLeft, typeof dateRight === 'number' ? dateFns.addDays(this.date, dateRight) : dateRight || this.date);
150
- };
151
- /**
152
- * Disabled Before date (Default: today), Generally serves `nzDisabledDate`
153
- *
154
- * 禁用之前日期(默认:今天),一般服务于 `nzDisabledDate`
155
- */
156
- DateTimePickerUtil.prototype.disabledBeforeDate = function (options) {
157
- var _this = this;
158
- return function (d) { return _this.getDiffDays(d, options === null || options === void 0 ? void 0 : options.offsetDays) < 0; };
159
- };
160
- /**
161
- * Disabled After date (Default: today), Generally serves `nzDisabledDate`
162
- *
163
- * 禁用之后日期(默认:今天),一般服务于 `nzDisabledDate`
164
- */
165
- DateTimePickerUtil.prototype.disabledAfterDate = function (options) {
166
- var _this = this;
167
- return function (d) { return _this.getDiffDays(d, options === null || options === void 0 ? void 0 : options.offsetDays) > 0; };
168
- };
169
- DateTimePickerUtil.prototype.baseDisabledTime = function (type, offsetSeconds) {
170
- var _this = this;
171
- var tick24 = this.genTick(24);
172
- var tick60 = this.genTick(60);
173
- return function (current) {
174
- var cur = current;
175
- if (cur == null) {
176
- return {};
177
- }
178
- var now = dateFns.addSeconds(_this.now, offsetSeconds || 0);
179
- var nowHours = now.getHours();
180
- var nowMinutes = now.getMinutes();
181
- var curHours = cur.getHours();
182
- var isToday = _this.getDiffDays(_this.removeTime(cur)) === 0;
183
- return {
184
- nzDisabledHours: function () {
185
- if (!isToday)
186
- return [];
187
- return type === 'before' ? tick24.slice(0, nowHours) : tick24.slice(nowHours + 1);
188
- },
189
- nzDisabledMinutes: function () {
190
- if (isToday && curHours === nowHours) {
191
- return type === 'before' ? tick60.slice(0, nowMinutes) : tick60.slice(nowMinutes + 1);
192
- }
193
- return [];
194
- },
195
- nzDisabledSeconds: function () {
196
- if (isToday && curHours === nowHours && cur.getMinutes() === nowMinutes) {
197
- var nowSeconds = now.getSeconds();
198
- return type === 'before' ? tick60.slice(0, nowSeconds) : tick60.slice(nowSeconds + 1);
199
- }
200
- return [];
201
- }
202
- };
203
- };
204
- };
205
- /**
206
- * Disabled Before time (Default: now), Generally serves `nzDisabledTime`
207
- *
208
- * 禁用之前时间(默认:现在),一般服务于 `nzDisabledTime`
209
- */
210
- DateTimePickerUtil.prototype.disabledBeforeTime = function (options) {
211
- return this.baseDisabledTime('before', options === null || options === void 0 ? void 0 : options.offsetSeconds);
212
- };
213
- /**
214
- * Disabled After time (Default: now), Generally serves `nzDisabledTime`
215
- *
216
- * 禁用之后时间(默认:现在),一般服务于 `nzDisabledTime`
217
- */
218
- DateTimePickerUtil.prototype.disabledAfterTime = function (options) {
219
- return this.baseDisabledTime('after', options === null || options === void 0 ? void 0 : options.offsetSeconds);
220
- };
221
- return DateTimePickerUtil;
222
- }());
223
- var dateTimePickerUtil = new DateTimePickerUtil();
224
-
225
- /**
226
- * Generated bundle index. Do not edit.
227
- */
228
-
229
- exports.DateTimePickerUtil = DateTimePickerUtil;
230
- exports.dateTimePickerUtil = dateTimePickerUtil;
231
- exports.fixEndTimeOfRange = fixEndTimeOfRange;
232
- exports.getTimeDistance = getTimeDistance;
233
- exports.toDate = toDate;
234
-
235
- Object.defineProperty(exports, '__esModule', { value: true });
236
-
237
- }));
238
- //# sourceMappingURL=yelon-util-date-time.umd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"yelon-util-date-time.umd.js","sources":["../../../../packages/util/date-time/time.ts","../../../../packages/util/date-time/picker.ts","../../../../packages/util/date-time/yelon-util-date-time.ts"],"sourcesContent":["import {\n addDays,\n endOfDay,\n endOfMonth,\n endOfWeek,\n endOfYear,\n parse,\n parseISO,\n startOfDay,\n startOfMonth,\n startOfWeek,\n startOfYear,\n subMonths,\n subWeeks,\n subYears\n} from 'date-fns';\n\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\n/**\n * Get the time range, return `[ Date, Date]` for the start and end dates\n *\n * 获取时间范围\n *\n * @param type 类型,带 `-` 表示过去一个时间,若指定 `number` 表示天数\n * @param time 开始时间\n */\nexport function getTimeDistance(\n type: 'today' | '-today' | 'yesterday' | 'week' | '-week' | 'month' | '-month' | 'year' | '-year' | number,\n time?: Date | string | number\n): [Date, Date] {\n time = time\n ? typeof time === 'string'\n ? parse(time, 'yyyy-MM-dd HH:mm:ss', new Date())\n : new Date(time)\n : new Date();\n const options: { weekStartsOn: 1 } = { weekStartsOn: 1 };\n\n let res: [Date, Date];\n switch (type) {\n case 'today':\n res = [time, time];\n break;\n case '-today':\n res = [addDays(time, -1), time];\n break;\n case 'yesterday':\n res = [addDays(time, -1), addDays(time, -1)];\n break;\n case 'week':\n res = [startOfWeek(time, options), endOfWeek(time, options)];\n break;\n case '-week':\n res = [startOfWeek(subWeeks(time, 1), options), endOfWeek(subWeeks(time, 1), options)];\n break;\n case 'month':\n res = [startOfMonth(time), endOfMonth(time)];\n break;\n case '-month':\n res = [startOfMonth(subMonths(time, 1)), endOfMonth(subMonths(time, 1))];\n break;\n case 'year':\n res = [startOfYear(time), endOfYear(time)];\n break;\n case '-year':\n res = [startOfYear(subYears(time, 1)), endOfYear(subYears(time, 1))];\n break;\n default:\n res = type > 0 ? [time, addDays(time, type)] : [addDays(time, type), time];\n break;\n }\n return fixEndTimeOfRange(res);\n}\n\n/**\n * fix time is the most, big value\n */\nexport function fixEndTimeOfRange(dates: [Date, Date]): [Date, Date] {\n return [startOfDay(dates[0]), endOfDay(dates[1])];\n}\n\nexport type ToDateOptions = string | { formatString?: string; defaultValue?: NzSafeAny };\n\n/**\n * Return the date parsed from string using the given format string\n * - If the argument is a number, it is treated as a timestamp.\n *\n * @param formatString If parsing fails try to parse the date by pressing `formatString`\n * @param defaultValue If parsing fails returned default value, default: `new Date(NaN)`\n */\nexport function toDate(value: Date | string | number, options?: ToDateOptions): Date {\n if (typeof options === 'string') options = { formatString: options };\n const { formatString, defaultValue } = {\n formatString: 'yyyy-MM-dd HH:mm:ss',\n defaultValue: new Date(NaN),\n ...options\n };\n if (value == null) {\n return defaultValue;\n }\n if (value instanceof Date) {\n return value;\n }\n if (typeof value === 'number' || (typeof value === 'string' && /[0-9]{10,13}/.test(value))) {\n return new Date(+value);\n }\n let tryDate = parseISO(value);\n if (isNaN(tryDate as NzSafeAny)) {\n tryDate = parse(value, formatString!, new Date());\n }\n\n return isNaN(tryDate as NzSafeAny) ? defaultValue : tryDate;\n}\n","import { addDays, addSeconds, differenceInCalendarDays, format } from 'date-fns';\n\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { DisabledDateFn, DisabledTimeConfig, DisabledTimeFn } from 'ng-zorro-antd/date-picker';\n\n// TODO: timezone process\nexport class DateTimePickerUtil {\n /**\n * Current local time\n *\n * 当前本地时间\n */\n get now(): Date {\n return new Date();\n }\n /**\n * Current local date (not including time part)\n *\n * 当前本地日期(不包含时间部分)\n */\n get date(): Date {\n return this.removeTime(this.now);\n }\n /**\n * Remove the time part of the date\n *\n * 移除日期的时间部分\n */\n removeTime(d: Date): Date {\n return new Date(d.toDateString());\n }\n /**\n * Format date-time\n *\n * 格式化日期\n */\n format(d: number | Date, formatString: string = 'yyyy-MM-dd HH:mm:ss'): string {\n return format(d, formatString);\n }\n private genTick(count: number): number[] {\n return new Array(count).fill(0).map((_, idx) => idx);\n }\n /**\n * Calculate the number of days between two dates, `0` means the same day\n *\n * 计算两个日期相差天数,`0` 表示同一天\n */\n getDiffDays(dateLeft: Date | number, dateRight?: Date | number): number {\n return differenceInCalendarDays(\n dateLeft,\n typeof dateRight === 'number' ? addDays(this.date, dateRight) : dateRight || this.date\n );\n }\n /**\n * Disabled Before date (Default: today), Generally serves `nzDisabledDate`\n *\n * 禁用之前日期(默认:今天),一般服务于 `nzDisabledDate`\n */\n disabledBeforeDate(options?: { offsetDays?: Date | number }): DisabledDateFn {\n return (d): boolean => this.getDiffDays(d, options?.offsetDays) < 0;\n }\n /**\n * Disabled After date (Default: today), Generally serves `nzDisabledDate`\n *\n * 禁用之后日期(默认:今天),一般服务于 `nzDisabledDate`\n */\n disabledAfterDate(options?: { offsetDays?: Date | number }): DisabledDateFn {\n return (d): boolean => this.getDiffDays(d, options?.offsetDays) > 0;\n }\n private baseDisabledTime(type: 'before' | 'after', offsetSeconds?: number): DisabledTimeFn {\n const tick24 = this.genTick(24);\n const tick60 = this.genTick(60);\n return (current): DisabledTimeConfig => {\n const cur = current as Date;\n if (cur == null) {\n return {} as NzSafeAny;\n }\n const now = addSeconds(this.now, offsetSeconds || 0);\n const nowHours = now.getHours();\n const nowMinutes = now.getMinutes();\n const curHours = cur.getHours();\n const isToday = this.getDiffDays(this.removeTime(cur)) === 0;\n return {\n nzDisabledHours: () => {\n if (!isToday) return [];\n return type === 'before' ? tick24.slice(0, nowHours) : tick24.slice(nowHours + 1);\n },\n nzDisabledMinutes: () => {\n if (isToday && curHours === nowHours) {\n return type === 'before' ? tick60.slice(0, nowMinutes) : tick60.slice(nowMinutes + 1);\n }\n return [];\n },\n nzDisabledSeconds: () => {\n if (isToday && curHours === nowHours && cur.getMinutes() === nowMinutes) {\n const nowSeconds = now.getSeconds();\n return type === 'before' ? tick60.slice(0, nowSeconds) : tick60.slice(nowSeconds + 1);\n }\n return [];\n }\n };\n };\n }\n /**\n * Disabled Before time (Default: now), Generally serves `nzDisabledTime`\n *\n * 禁用之前时间(默认:现在),一般服务于 `nzDisabledTime`\n */\n disabledBeforeTime(options?: { offsetSeconds?: number }): DisabledTimeFn {\n return this.baseDisabledTime('before', options?.offsetSeconds);\n }\n /**\n * Disabled After time (Default: now), Generally serves `nzDisabledTime`\n *\n * 禁用之后时间(默认:现在),一般服务于 `nzDisabledTime`\n */\n disabledAfterTime(options?: { offsetSeconds?: number }): DisabledTimeFn {\n return this.baseDisabledTime('after', options?.offsetSeconds);\n }\n}\n\nexport const dateTimePickerUtil = new DateTimePickerUtil();\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["parse","addDays","startOfWeek","endOfWeek","subWeeks","startOfMonth","endOfMonth","subMonths","startOfYear","endOfYear","subYears","startOfDay","endOfDay","parseISO","format","differenceInCalendarDays","addSeconds"],"mappings":"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"}