@visulima/humanizer 1.1.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (341) hide show
  1. package/README.md +108 -26
  2. package/dist/index.cjs +4 -2
  3. package/dist/index.d.cts +5 -3
  4. package/dist/index.d.mts +5 -3
  5. package/dist/index.d.ts +5 -3
  6. package/dist/index.mjs +3 -2
  7. package/dist/language/af.cjs +25 -1
  8. package/dist/language/af.d.cts +1 -1
  9. package/dist/language/af.d.mts +1 -1
  10. package/dist/language/af.d.ts +1 -1
  11. package/dist/language/af.mjs +25 -1
  12. package/dist/language/am.cjs +29 -1
  13. package/dist/language/am.d.cts +1 -1
  14. package/dist/language/am.d.mts +1 -1
  15. package/dist/language/am.d.ts +1 -1
  16. package/dist/language/am.mjs +29 -1
  17. package/dist/language/ar.cjs +25 -3
  18. package/dist/language/ar.d.cts +5 -2
  19. package/dist/language/ar.d.mts +5 -2
  20. package/dist/language/ar.d.ts +5 -2
  21. package/dist/language/ar.mjs +25 -3
  22. package/dist/language/bg.cjs +25 -1
  23. package/dist/language/bg.d.cts +1 -1
  24. package/dist/language/bg.d.mts +1 -1
  25. package/dist/language/bg.d.ts +1 -1
  26. package/dist/language/bg.mjs +25 -1
  27. package/dist/language/bn.cjs +29 -1
  28. package/dist/language/bn.d.cts +1 -1
  29. package/dist/language/bn.d.mts +1 -1
  30. package/dist/language/bn.d.ts +1 -1
  31. package/dist/language/bn.mjs +29 -1
  32. package/dist/language/ca.cjs +25 -1
  33. package/dist/language/ca.d.cts +1 -1
  34. package/dist/language/ca.d.mts +1 -1
  35. package/dist/language/ca.d.ts +1 -1
  36. package/dist/language/ca.mjs +25 -1
  37. package/dist/language/ckb.cjs +29 -1
  38. package/dist/language/ckb.d.cts +1 -1
  39. package/dist/language/ckb.d.mts +1 -1
  40. package/dist/language/ckb.d.ts +1 -1
  41. package/dist/language/ckb.mjs +29 -1
  42. package/dist/language/cs.cjs +36 -1
  43. package/dist/language/cs.d.cts +1 -1
  44. package/dist/language/cs.d.mts +1 -1
  45. package/dist/language/cs.d.ts +1 -1
  46. package/dist/language/cs.mjs +36 -1
  47. package/dist/language/cy.cjs +51 -1
  48. package/dist/language/cy.d.cts +1 -1
  49. package/dist/language/cy.d.mts +1 -1
  50. package/dist/language/cy.d.ts +1 -1
  51. package/dist/language/cy.mjs +51 -1
  52. package/dist/language/da.cjs +29 -1
  53. package/dist/language/da.d.cts +1 -1
  54. package/dist/language/da.d.mts +1 -1
  55. package/dist/language/da.d.ts +1 -1
  56. package/dist/language/da.mjs +29 -1
  57. package/dist/language/de.cjs +31 -1
  58. package/dist/language/de.d.cts +1 -1
  59. package/dist/language/de.d.mts +1 -1
  60. package/dist/language/de.d.ts +1 -1
  61. package/dist/language/de.mjs +31 -1
  62. package/dist/language/el.cjs +37 -1
  63. package/dist/language/el.d.cts +1 -1
  64. package/dist/language/el.d.mts +1 -1
  65. package/dist/language/el.d.ts +1 -1
  66. package/dist/language/el.mjs +37 -1
  67. package/dist/language/en.cjs +43 -1
  68. package/dist/language/en.d.cts +3 -2
  69. package/dist/language/en.d.mts +3 -2
  70. package/dist/language/en.d.ts +3 -2
  71. package/dist/language/en.mjs +43 -2
  72. package/dist/language/eo.cjs +31 -1
  73. package/dist/language/eo.d.cts +1 -1
  74. package/dist/language/eo.d.mts +1 -1
  75. package/dist/language/eo.d.ts +1 -1
  76. package/dist/language/eo.mjs +31 -1
  77. package/dist/language/es.cjs +30 -1
  78. package/dist/language/es.d.cts +1 -1
  79. package/dist/language/es.d.mts +1 -1
  80. package/dist/language/es.d.ts +1 -1
  81. package/dist/language/es.mjs +30 -1
  82. package/dist/language/et.cjs +31 -1
  83. package/dist/language/et.d.cts +1 -1
  84. package/dist/language/et.d.mts +1 -1
  85. package/dist/language/et.d.ts +1 -1
  86. package/dist/language/et.mjs +31 -1
  87. package/dist/language/eu.cjs +25 -1
  88. package/dist/language/eu.d.cts +1 -1
  89. package/dist/language/eu.d.mts +1 -1
  90. package/dist/language/eu.d.ts +1 -1
  91. package/dist/language/eu.mjs +25 -1
  92. package/dist/language/fa.cjs +34 -1
  93. package/dist/language/fa.d.cts +1 -1
  94. package/dist/language/fa.d.mts +1 -1
  95. package/dist/language/fa.d.ts +1 -1
  96. package/dist/language/fa.mjs +34 -1
  97. package/dist/language/fi.cjs +39 -1
  98. package/dist/language/fi.d.cts +1 -1
  99. package/dist/language/fi.d.mts +1 -1
  100. package/dist/language/fi.d.ts +1 -1
  101. package/dist/language/fi.mjs +39 -1
  102. package/dist/language/fo.cjs +32 -1
  103. package/dist/language/fo.d.cts +1 -1
  104. package/dist/language/fo.d.mts +1 -1
  105. package/dist/language/fo.d.ts +1 -1
  106. package/dist/language/fo.mjs +32 -1
  107. package/dist/language/fr.cjs +36 -1
  108. package/dist/language/fr.d.cts +1 -1
  109. package/dist/language/fr.d.mts +1 -1
  110. package/dist/language/fr.d.ts +1 -1
  111. package/dist/language/fr.mjs +36 -1
  112. package/dist/language/he.cjs +37 -1
  113. package/dist/language/he.d.cts +1 -1
  114. package/dist/language/he.d.mts +1 -1
  115. package/dist/language/he.d.ts +1 -1
  116. package/dist/language/he.mjs +37 -1
  117. package/dist/language/hi.cjs +40 -1
  118. package/dist/language/hi.d.cts +1 -1
  119. package/dist/language/hi.d.mts +1 -1
  120. package/dist/language/hi.d.ts +1 -1
  121. package/dist/language/hi.mjs +40 -1
  122. package/dist/language/hr.cjs +42 -1
  123. package/dist/language/hr.d.cts +1 -1
  124. package/dist/language/hr.d.mts +1 -1
  125. package/dist/language/hr.d.ts +1 -1
  126. package/dist/language/hr.mjs +42 -1
  127. package/dist/language/hu.cjs +47 -1
  128. package/dist/language/hu.d.cts +1 -1
  129. package/dist/language/hu.d.mts +1 -1
  130. package/dist/language/hu.d.ts +1 -1
  131. package/dist/language/hu.mjs +47 -1
  132. package/dist/language/id.cjs +46 -1
  133. package/dist/language/id.d.cts +1 -1
  134. package/dist/language/id.d.mts +1 -1
  135. package/dist/language/id.d.ts +1 -1
  136. package/dist/language/id.mjs +46 -1
  137. package/dist/language/is.cjs +37 -1
  138. package/dist/language/is.d.cts +1 -1
  139. package/dist/language/is.d.mts +1 -1
  140. package/dist/language/is.d.ts +1 -1
  141. package/dist/language/is.mjs +37 -1
  142. package/dist/language/it.cjs +43 -9
  143. package/dist/language/it.d.cts +1 -1
  144. package/dist/language/it.d.mts +1 -1
  145. package/dist/language/it.d.ts +1 -1
  146. package/dist/language/it.mjs +43 -9
  147. package/dist/language/ja.cjs +43 -1
  148. package/dist/language/ja.d.cts +1 -1
  149. package/dist/language/ja.d.mts +1 -1
  150. package/dist/language/ja.d.ts +1 -1
  151. package/dist/language/ja.mjs +43 -1
  152. package/dist/language/km.cjs +53 -1
  153. package/dist/language/km.d.cts +1 -1
  154. package/dist/language/km.d.mts +1 -1
  155. package/dist/language/km.d.ts +1 -1
  156. package/dist/language/km.mjs +53 -1
  157. package/dist/language/kn.cjs +35 -1
  158. package/dist/language/kn.d.cts +1 -1
  159. package/dist/language/kn.d.mts +1 -1
  160. package/dist/language/kn.d.ts +1 -1
  161. package/dist/language/kn.mjs +35 -1
  162. package/dist/language/ko.cjs +38 -1
  163. package/dist/language/ko.d.cts +1 -1
  164. package/dist/language/ko.d.mts +1 -1
  165. package/dist/language/ko.d.ts +1 -1
  166. package/dist/language/ko.mjs +38 -1
  167. package/dist/language/ku.cjs +50 -1
  168. package/dist/language/ku.d.cts +1 -1
  169. package/dist/language/ku.d.mts +1 -1
  170. package/dist/language/ku.d.ts +1 -1
  171. package/dist/language/ku.mjs +50 -1
  172. package/dist/language/lo.cjs +54 -1
  173. package/dist/language/lo.d.cts +1 -1
  174. package/dist/language/lo.d.mts +1 -1
  175. package/dist/language/lo.d.ts +1 -1
  176. package/dist/language/lo.mjs +54 -1
  177. package/dist/language/lt.cjs +44 -1
  178. package/dist/language/lt.d.cts +1 -1
  179. package/dist/language/lt.d.mts +1 -1
  180. package/dist/language/lt.d.ts +1 -1
  181. package/dist/language/lt.mjs +44 -1
  182. package/dist/language/lv.cjs +38 -1
  183. package/dist/language/lv.d.cts +1 -1
  184. package/dist/language/lv.d.mts +1 -1
  185. package/dist/language/lv.d.ts +1 -1
  186. package/dist/language/lv.mjs +38 -1
  187. package/dist/language/mk.cjs +39 -1
  188. package/dist/language/mk.d.cts +1 -1
  189. package/dist/language/mk.d.mts +1 -1
  190. package/dist/language/mk.d.ts +1 -1
  191. package/dist/language/mk.mjs +39 -1
  192. package/dist/language/mn.cjs +42 -1
  193. package/dist/language/mn.d.cts +1 -1
  194. package/dist/language/mn.d.mts +1 -1
  195. package/dist/language/mn.d.ts +1 -1
  196. package/dist/language/mn.mjs +42 -1
  197. package/dist/language/mr.cjs +29 -2
  198. package/dist/language/mr.d.cts +1 -1
  199. package/dist/language/mr.d.mts +1 -1
  200. package/dist/language/mr.d.ts +1 -1
  201. package/dist/language/mr.mjs +29 -2
  202. package/dist/language/ms.cjs +45 -1
  203. package/dist/language/ms.d.cts +1 -1
  204. package/dist/language/ms.d.mts +1 -1
  205. package/dist/language/ms.d.ts +1 -1
  206. package/dist/language/ms.mjs +45 -1
  207. package/dist/language/nl.cjs +34 -1
  208. package/dist/language/nl.d.cts +1 -1
  209. package/dist/language/nl.d.mts +1 -1
  210. package/dist/language/nl.d.ts +1 -1
  211. package/dist/language/nl.mjs +34 -1
  212. package/dist/language/no.cjs +31 -1
  213. package/dist/language/no.d.cts +1 -1
  214. package/dist/language/no.d.mts +1 -1
  215. package/dist/language/no.d.ts +1 -1
  216. package/dist/language/no.mjs +31 -1
  217. package/dist/language/pl.cjs +45 -1
  218. package/dist/language/pl.d.cts +1 -1
  219. package/dist/language/pl.d.mts +1 -1
  220. package/dist/language/pl.d.ts +1 -1
  221. package/dist/language/pl.mjs +45 -1
  222. package/dist/language/pt.cjs +34 -1
  223. package/dist/language/pt.d.cts +1 -1
  224. package/dist/language/pt.d.mts +1 -1
  225. package/dist/language/pt.d.ts +1 -1
  226. package/dist/language/pt.mjs +34 -1
  227. package/dist/language/ro.cjs +37 -1
  228. package/dist/language/ro.d.cts +1 -1
  229. package/dist/language/ro.d.mts +1 -1
  230. package/dist/language/ro.d.ts +1 -1
  231. package/dist/language/ro.mjs +37 -1
  232. package/dist/language/ru.cjs +42 -1
  233. package/dist/language/ru.d.cts +1 -1
  234. package/dist/language/ru.d.mts +1 -1
  235. package/dist/language/ru.d.ts +1 -1
  236. package/dist/language/ru.mjs +42 -1
  237. package/dist/language/sk.cjs +47 -1
  238. package/dist/language/sk.d.cts +1 -1
  239. package/dist/language/sk.d.mts +1 -1
  240. package/dist/language/sk.d.ts +1 -1
  241. package/dist/language/sk.mjs +47 -1
  242. package/dist/language/sl.cjs +45 -1
  243. package/dist/language/sl.d.cts +1 -1
  244. package/dist/language/sl.d.mts +1 -1
  245. package/dist/language/sl.d.ts +1 -1
  246. package/dist/language/sl.mjs +45 -1
  247. package/dist/language/sq.cjs +35 -1
  248. package/dist/language/sq.d.cts +1 -1
  249. package/dist/language/sq.d.mts +1 -1
  250. package/dist/language/sq.d.ts +1 -1
  251. package/dist/language/sq.mjs +35 -1
  252. package/dist/language/sr.cjs +66 -1
  253. package/dist/language/sr.d.cts +1 -1
  254. package/dist/language/sr.d.mts +1 -1
  255. package/dist/language/sr.d.ts +1 -1
  256. package/dist/language/sr.mjs +66 -1
  257. package/dist/language/sv.cjs +33 -1
  258. package/dist/language/sv.d.cts +1 -1
  259. package/dist/language/sv.d.mts +1 -1
  260. package/dist/language/sv.d.ts +1 -1
  261. package/dist/language/sv.mjs +33 -1
  262. package/dist/language/sw.cjs +33 -1
  263. package/dist/language/sw.d.cts +4 -1
  264. package/dist/language/sw.d.mts +4 -1
  265. package/dist/language/sw.d.ts +4 -1
  266. package/dist/language/sw.mjs +33 -1
  267. package/dist/language/ta.cjs +39 -1
  268. package/dist/language/ta.d.cts +1 -1
  269. package/dist/language/ta.d.mts +1 -1
  270. package/dist/language/ta.d.ts +1 -1
  271. package/dist/language/ta.mjs +39 -1
  272. package/dist/language/te.cjs +35 -1
  273. package/dist/language/te.d.cts +1 -1
  274. package/dist/language/te.d.mts +1 -1
  275. package/dist/language/te.d.ts +1 -1
  276. package/dist/language/te.mjs +35 -1
  277. package/dist/language/th.cjs +40 -1
  278. package/dist/language/th.d.cts +1 -1
  279. package/dist/language/th.d.mts +1 -1
  280. package/dist/language/th.d.ts +1 -1
  281. package/dist/language/th.mjs +40 -1
  282. package/dist/language/tr.cjs +38 -1
  283. package/dist/language/tr.d.cts +1 -1
  284. package/dist/language/tr.d.mts +1 -1
  285. package/dist/language/tr.d.ts +1 -1
  286. package/dist/language/tr.mjs +38 -1
  287. package/dist/language/uk.cjs +44 -1
  288. package/dist/language/uk.d.cts +1 -1
  289. package/dist/language/uk.d.mts +1 -1
  290. package/dist/language/uk.d.ts +1 -1
  291. package/dist/language/uk.mjs +44 -1
  292. package/dist/language/ur.cjs +42 -1
  293. package/dist/language/ur.d.cts +1 -1
  294. package/dist/language/ur.d.mts +1 -1
  295. package/dist/language/ur.d.ts +1 -1
  296. package/dist/language/ur.mjs +42 -1
  297. package/dist/language/util/create-duration-language.cjs +13 -4
  298. package/dist/language/util/create-duration-language.d.cts +2 -2
  299. package/dist/language/util/create-duration-language.d.mts +2 -2
  300. package/dist/language/util/create-duration-language.d.ts +2 -2
  301. package/dist/language/util/create-duration-language.mjs +13 -4
  302. package/dist/language/util/validate-duration-language.cjs +6 -0
  303. package/dist/language/util/validate-duration-language.d.cts +1 -1
  304. package/dist/language/util/validate-duration-language.d.mts +1 -1
  305. package/dist/language/util/validate-duration-language.d.ts +1 -1
  306. package/dist/language/util/validate-duration-language.mjs +6 -0
  307. package/dist/language/uz.cjs +39 -1
  308. package/dist/language/uz.d.cts +1 -1
  309. package/dist/language/uz.d.mts +1 -1
  310. package/dist/language/uz.d.ts +1 -1
  311. package/dist/language/uz.mjs +39 -1
  312. package/dist/language/uz_CYR.cjs +39 -1
  313. package/dist/language/uz_CYR.d.cts +1 -1
  314. package/dist/language/uz_CYR.d.mts +1 -1
  315. package/dist/language/uz_CYR.d.ts +1 -1
  316. package/dist/language/uz_CYR.mjs +39 -1
  317. package/dist/language/vi.cjs +30 -1
  318. package/dist/language/vi.d.cts +1 -1
  319. package/dist/language/vi.d.mts +1 -1
  320. package/dist/language/vi.d.ts +1 -1
  321. package/dist/language/vi.mjs +30 -1
  322. package/dist/language/zh_CN.cjs +35 -1
  323. package/dist/language/zh_CN.d.cts +1 -1
  324. package/dist/language/zh_CN.d.mts +1 -1
  325. package/dist/language/zh_CN.d.ts +1 -1
  326. package/dist/language/zh_CN.mjs +35 -1
  327. package/dist/language/zh_TW.cjs +35 -1
  328. package/dist/language/zh_TW.d.cts +1 -1
  329. package/dist/language/zh_TW.d.mts +1 -1
  330. package/dist/language/zh_TW.d.ts +1 -1
  331. package/dist/language/zh_TW.mjs +35 -1
  332. package/dist/packem_shared/{duration-1XAT3kv0.cjs → duration-DYSJZCH0.cjs} +8 -8
  333. package/dist/packem_shared/{duration-CfhZBuZE.mjs → duration-jUX98xbn.mjs} +8 -8
  334. package/dist/packem_shared/{parseBytes-DEYk0hnt.cjs → parseBytes-0lZhif0J.cjs} +1 -1
  335. package/dist/packem_shared/{parseBytes-C9YuToSz.mjs → parseBytes-CAElABGr.mjs} +1 -1
  336. package/dist/packem_shared/parseDuration-Bp1J3FbZ.cjs +115 -0
  337. package/dist/packem_shared/parseDuration-N_JLGPIB.mjs +113 -0
  338. package/dist/packem_shared/{types-4Kt5giRg.d.cts → types-H2jJHSlI.d.cts} +8 -1
  339. package/dist/packem_shared/{types-4Kt5giRg.d.mjs → types-H2jJHSlI.d.mts} +8 -1
  340. package/dist/packem_shared/{types-4Kt5giRg.d.mts → types-H2jJHSlI.d.ts} +8 -1
  341. package/package.json +1 -1
@@ -4,6 +4,44 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
4
4
 
5
5
  const language_util_createDurationLanguage = require('./util/create-duration-language.cjs');
6
6
 
7
- const durationLanguage = language_util_createDurationLanguage("йил", "ой", "ҳафта", "кун", "соат", "минут", "секунд", "миллисекунд", "%s да", "%s аввал");
7
+ const uzCyrUnitMap = {
8
+ й: "y",
9
+ йил: "y",
10
+ к: "d",
11
+ кун: "d",
12
+ м: "m",
13
+ миллисекунд: "ms",
14
+ мин: "m",
15
+ минут: "m",
16
+ мс: "ms",
17
+ о: "mo",
18
+ ой: "mo",
19
+ с: "h",
20
+ сек: "s",
21
+ секунд: "s",
22
+ соат: "h",
23
+ ҳ: "w",
24
+ ҳафта: "w"
25
+ };
26
+ const durationLanguage = language_util_createDurationLanguage(
27
+ "йил",
28
+ "ой",
29
+ "ҳафта",
30
+ "кун",
31
+ "соат",
32
+ "минут",
33
+ "секунд",
34
+ "миллисекунд",
35
+ "%s да",
36
+ "%s аввал",
37
+ // "%s ago"
38
+ ",",
39
+ // decimal separator in Uzbek Cyrillic
40
+ uzCyrUnitMap,
41
+ " ",
42
+ // group separator in Uzbek Cyrillic
43
+ "_"
44
+ // placeholder separator
45
+ );
8
46
 
9
47
  exports.durationLanguage = durationLanguage;
@@ -1,4 +1,4 @@
1
- import { b as DurationLanguage } from '../packem_shared/types-4Kt5giRg.cjs';
1
+ import { c as DurationLanguage } from '../packem_shared/types-H2jJHSlI.cjs';
2
2
 
3
3
  declare const durationLanguage: DurationLanguage;
4
4
 
@@ -1,4 +1,4 @@
1
- import { b as DurationLanguage } from '../packem_shared/types-4Kt5giRg.mjs';
1
+ import { c as DurationLanguage } from '../packem_shared/types-H2jJHSlI.mjs';
2
2
 
3
3
  declare const durationLanguage: DurationLanguage;
4
4
 
@@ -1,4 +1,4 @@
1
- import { b as DurationLanguage } from '../packem_shared/types-4Kt5giRg.d.mjs';
1
+ import { c as DurationLanguage } from '../packem_shared/types-H2jJHSlI.js';
2
2
 
3
3
  declare const durationLanguage: DurationLanguage;
4
4
 
@@ -1,5 +1,43 @@
1
1
  import createDurationLanguage from './util/create-duration-language.mjs';
2
2
 
3
- const durationLanguage = createDurationLanguage("йил", "ой", "ҳафта", "кун", "соат", "минут", "секунд", "миллисекунд", "%s да", "%s аввал");
3
+ const uzCyrUnitMap = {
4
+ й: "y",
5
+ йил: "y",
6
+ к: "d",
7
+ кун: "d",
8
+ м: "m",
9
+ миллисекунд: "ms",
10
+ мин: "m",
11
+ минут: "m",
12
+ мс: "ms",
13
+ о: "mo",
14
+ ой: "mo",
15
+ с: "h",
16
+ сек: "s",
17
+ секунд: "s",
18
+ соат: "h",
19
+ ҳ: "w",
20
+ ҳафта: "w"
21
+ };
22
+ const durationLanguage = createDurationLanguage(
23
+ "йил",
24
+ "ой",
25
+ "ҳафта",
26
+ "кун",
27
+ "соат",
28
+ "минут",
29
+ "секунд",
30
+ "миллисекунд",
31
+ "%s да",
32
+ "%s аввал",
33
+ // "%s ago"
34
+ ",",
35
+ // decimal separator in Uzbek Cyrillic
36
+ uzCyrUnitMap,
37
+ " ",
38
+ // group separator in Uzbek Cyrillic
39
+ "_"
40
+ // placeholder separator
41
+ );
4
42
 
5
43
  export { durationLanguage };
@@ -4,6 +4,35 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
4
4
 
5
5
  const language_util_createDurationLanguage = require('./util/create-duration-language.cjs');
6
6
 
7
- const durationLanguage = language_util_createDurationLanguage("năm", "tháng", "tuần", "ngày", "giờ", "phút", "giây", "mili giây", "%s tới", "%s trước", ",");
7
+ const viUnitMap = {
8
+ giây: "s",
9
+ giờ: "h",
10
+ mili: "ms",
11
+ miligiây: "ms",
12
+ ngày: "d",
13
+ năm: "y",
14
+ phút: "m",
15
+ tháng: "mo",
16
+ tuần: "w"
17
+ };
18
+ const durationLanguage = language_util_createDurationLanguage(
19
+ "năm",
20
+ "tháng",
21
+ "tuần",
22
+ "ngày",
23
+ "giờ",
24
+ "phút",
25
+ "giây",
26
+ "mili giây",
27
+ "%s tới",
28
+ "%s trước",
29
+ ",",
30
+ // decimal
31
+ viUnitMap,
32
+ ".",
33
+ // groupSeparator
34
+ "_"
35
+ // placeholderSeparator
36
+ );
8
37
 
9
38
  exports.durationLanguage = durationLanguage;
@@ -1,4 +1,4 @@
1
- import { b as DurationLanguage } from '../packem_shared/types-4Kt5giRg.cjs';
1
+ import { c as DurationLanguage } from '../packem_shared/types-H2jJHSlI.cjs';
2
2
 
3
3
  declare const durationLanguage: DurationLanguage;
4
4
 
@@ -1,4 +1,4 @@
1
- import { b as DurationLanguage } from '../packem_shared/types-4Kt5giRg.mjs';
1
+ import { c as DurationLanguage } from '../packem_shared/types-H2jJHSlI.mjs';
2
2
 
3
3
  declare const durationLanguage: DurationLanguage;
4
4
 
@@ -1,4 +1,4 @@
1
- import { b as DurationLanguage } from '../packem_shared/types-4Kt5giRg.d.mjs';
1
+ import { c as DurationLanguage } from '../packem_shared/types-H2jJHSlI.js';
2
2
 
3
3
  declare const durationLanguage: DurationLanguage;
4
4
 
@@ -1,5 +1,34 @@
1
1
  import createDurationLanguage from './util/create-duration-language.mjs';
2
2
 
3
- const durationLanguage = createDurationLanguage("năm", "tháng", "tuần", "ngày", "giờ", "phút", "giây", "mili giây", "%s tới", "%s trước", ",");
3
+ const viUnitMap = {
4
+ giây: "s",
5
+ giờ: "h",
6
+ mili: "ms",
7
+ miligiây: "ms",
8
+ ngày: "d",
9
+ năm: "y",
10
+ phút: "m",
11
+ tháng: "mo",
12
+ tuần: "w"
13
+ };
14
+ const durationLanguage = createDurationLanguage(
15
+ "năm",
16
+ "tháng",
17
+ "tuần",
18
+ "ngày",
19
+ "giờ",
20
+ "phút",
21
+ "giây",
22
+ "mili giây",
23
+ "%s tới",
24
+ "%s trước",
25
+ ",",
26
+ // decimal
27
+ viUnitMap,
28
+ ".",
29
+ // groupSeparator
30
+ "_"
31
+ // placeholderSeparator
32
+ );
4
33
 
5
34
  export { durationLanguage };
@@ -4,6 +4,40 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
4
4
 
5
5
  const language_util_createDurationLanguage = require('./util/create-duration-language.cjs');
6
6
 
7
- const durationLanguage = language_util_createDurationLanguage("年", "个月", "周", "天", "小时", "分", "秒", "毫秒", "%s后", "%s前");
7
+ const zhCNUnitMap = {
8
+ 个月: "mo",
9
+ 分: "m",
10
+ 分钟: "m",
11
+ 周: "w",
12
+ 天: "d",
13
+ 小时: "h",
14
+ 年: "y",
15
+ 日: "d",
16
+ 时: "h",
17
+ 星期: "w",
18
+ 月: "mo",
19
+ 毫秒: "ms",
20
+ 秒: "s",
21
+ 秒钟: "s"
22
+ };
23
+ const durationLanguage = language_util_createDurationLanguage(
24
+ "年",
25
+ "个月",
26
+ "周",
27
+ "天",
28
+ "小时",
29
+ "分",
30
+ "秒",
31
+ "毫秒",
32
+ "%s后",
33
+ "%s前",
34
+ ".",
35
+ // decimal
36
+ zhCNUnitMap,
37
+ ",",
38
+ // groupSeparator
39
+ "_"
40
+ // placeholderSeparator
41
+ );
8
42
 
9
43
  exports.durationLanguage = durationLanguage;
@@ -1,4 +1,4 @@
1
- import { b as DurationLanguage } from '../packem_shared/types-4Kt5giRg.cjs';
1
+ import { c as DurationLanguage } from '../packem_shared/types-H2jJHSlI.cjs';
2
2
 
3
3
  declare const durationLanguage: DurationLanguage;
4
4
 
@@ -1,4 +1,4 @@
1
- import { b as DurationLanguage } from '../packem_shared/types-4Kt5giRg.mjs';
1
+ import { c as DurationLanguage } from '../packem_shared/types-H2jJHSlI.mjs';
2
2
 
3
3
  declare const durationLanguage: DurationLanguage;
4
4
 
@@ -1,4 +1,4 @@
1
- import { b as DurationLanguage } from '../packem_shared/types-4Kt5giRg.d.mjs';
1
+ import { c as DurationLanguage } from '../packem_shared/types-H2jJHSlI.js';
2
2
 
3
3
  declare const durationLanguage: DurationLanguage;
4
4
 
@@ -1,5 +1,39 @@
1
1
  import createDurationLanguage from './util/create-duration-language.mjs';
2
2
 
3
- const durationLanguage = createDurationLanguage("年", "个月", "周", "天", "小时", "分", "秒", "毫秒", "%s后", "%s前");
3
+ const zhCNUnitMap = {
4
+ 个月: "mo",
5
+ 分: "m",
6
+ 分钟: "m",
7
+ 周: "w",
8
+ 天: "d",
9
+ 小时: "h",
10
+ 年: "y",
11
+ 日: "d",
12
+ 时: "h",
13
+ 星期: "w",
14
+ 月: "mo",
15
+ 毫秒: "ms",
16
+ 秒: "s",
17
+ 秒钟: "s"
18
+ };
19
+ const durationLanguage = createDurationLanguage(
20
+ "年",
21
+ "个月",
22
+ "周",
23
+ "天",
24
+ "小时",
25
+ "分",
26
+ "秒",
27
+ "毫秒",
28
+ "%s后",
29
+ "%s前",
30
+ ".",
31
+ // decimal
32
+ zhCNUnitMap,
33
+ ",",
34
+ // groupSeparator
35
+ "_"
36
+ // placeholderSeparator
37
+ );
4
38
 
5
39
  export { durationLanguage };
@@ -4,6 +4,40 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
4
4
 
5
5
  const language_util_createDurationLanguage = require('./util/create-duration-language.cjs');
6
6
 
7
- const durationLanguage = language_util_createDurationLanguage("年", "個月", "周", "天", "小時", "分鐘", "秒", "毫秒", "%s後", "%s前");
7
+ const zhTWUnitMap = {
8
+ 個月: "mo",
9
+ 分: "m",
10
+ 分鐘: "m",
11
+ 天: "d",
12
+ 小時: "h",
13
+ 年: "y",
14
+ 日: "d",
15
+ 星期: "w",
16
+ 時: "h",
17
+ 月: "mo",
18
+ 毫秒: "ms",
19
+ 秒: "s",
20
+ 秒鐘: "s",
21
+ 週: "w"
22
+ };
23
+ const durationLanguage = language_util_createDurationLanguage(
24
+ "年",
25
+ "個月",
26
+ "周",
27
+ "天",
28
+ "小時",
29
+ "分鐘",
30
+ "秒",
31
+ "毫秒",
32
+ "%s後",
33
+ "%s前",
34
+ ".",
35
+ // decimal
36
+ zhTWUnitMap,
37
+ ",",
38
+ // groupSeparator
39
+ "_"
40
+ // placeholderSeparator
41
+ );
8
42
 
9
43
  exports.durationLanguage = durationLanguage;
@@ -1,4 +1,4 @@
1
- import { b as DurationLanguage } from '../packem_shared/types-4Kt5giRg.cjs';
1
+ import { c as DurationLanguage } from '../packem_shared/types-H2jJHSlI.cjs';
2
2
 
3
3
  declare const durationLanguage: DurationLanguage;
4
4
 
@@ -1,4 +1,4 @@
1
- import { b as DurationLanguage } from '../packem_shared/types-4Kt5giRg.mjs';
1
+ import { c as DurationLanguage } from '../packem_shared/types-H2jJHSlI.mjs';
2
2
 
3
3
  declare const durationLanguage: DurationLanguage;
4
4
 
@@ -1,4 +1,4 @@
1
- import { b as DurationLanguage } from '../packem_shared/types-4Kt5giRg.d.mjs';
1
+ import { c as DurationLanguage } from '../packem_shared/types-H2jJHSlI.js';
2
2
 
3
3
  declare const durationLanguage: DurationLanguage;
4
4
 
@@ -1,5 +1,39 @@
1
1
  import createDurationLanguage from './util/create-duration-language.mjs';
2
2
 
3
- const durationLanguage = createDurationLanguage("年", "個月", "周", "天", "小時", "分鐘", "秒", "毫秒", "%s後", "%s前");
3
+ const zhTWUnitMap = {
4
+ 個月: "mo",
5
+ 分: "m",
6
+ 分鐘: "m",
7
+ 天: "d",
8
+ 小時: "h",
9
+ 年: "y",
10
+ 日: "d",
11
+ 星期: "w",
12
+ 時: "h",
13
+ 月: "mo",
14
+ 毫秒: "ms",
15
+ 秒: "s",
16
+ 秒鐘: "s",
17
+ 週: "w"
18
+ };
19
+ const durationLanguage = createDurationLanguage(
20
+ "年",
21
+ "個月",
22
+ "周",
23
+ "天",
24
+ "小時",
25
+ "分鐘",
26
+ "秒",
27
+ "毫秒",
28
+ "%s後",
29
+ "%s前",
30
+ ".",
31
+ // decimal
32
+ zhTWUnitMap,
33
+ ",",
34
+ // groupSeparator
35
+ "_"
36
+ // placeholderSeparator
37
+ );
4
38
 
5
39
  export { durationLanguage };
@@ -7,7 +7,7 @@ var __defProp = Object.defineProperty;
7
7
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
8
8
  const toFixed = /* @__PURE__ */ __name((number_, fixed) => {
9
9
  fixed = fixed || -1;
10
- const matches = new RegExp(`^-?\\d+(?:.\\d{0,${fixed}})?`).exec(number_.toString());
10
+ const matches = new RegExp(`^-?\\d+(?:.\\d{0,${String(fixed)}})?`).exec(number_.toString());
11
11
  if (matches === null) {
12
12
  return number_;
13
13
  }
@@ -17,9 +17,9 @@ const renderPiece = /* @__PURE__ */ __name(({ unitCount, unitName }, language, o
17
17
  let { spacer } = options;
18
18
  const { maxDecimalPoints } = options;
19
19
  let decimal = ".";
20
- if (options.decimal !== undefined) {
20
+ if (options.decimal !== void 0) {
21
21
  decimal = options.decimal;
22
- } else if (language.decimal !== undefined) {
22
+ } else if (language.decimal !== void 0) {
23
23
  decimal = language.decimal;
24
24
  }
25
25
  let digitReplacements;
@@ -30,7 +30,7 @@ const renderPiece = /* @__PURE__ */ __name(({ unitCount, unitName }, language, o
30
30
  }
31
31
  let formattedCount;
32
32
  let normalizedUnitCount = unitCount;
33
- if (maxDecimalPoints !== undefined) {
33
+ if (maxDecimalPoints !== void 0) {
34
34
  normalizedUnitCount = toFixed(unitCount, maxDecimalPoints);
35
35
  }
36
36
  const countString = normalizedUnitCount.toString();
@@ -132,7 +132,7 @@ const getPieces = /* @__PURE__ */ __name((ms, options) => {
132
132
  remainder += unitCounts[remainderUnitName] * (options.unitMeasures[remainderUnitName] / options.unitMeasures[unitName]);
133
133
  }
134
134
  unitCount += remainder;
135
- if (options.maxDecimalPoints !== undefined) {
135
+ if (options.maxDecimalPoints !== void 0) {
136
136
  unitCount = toFixed(unitCount, options.maxDecimalPoints);
137
137
  }
138
138
  }
@@ -150,9 +150,9 @@ const formatPieces = /* @__PURE__ */ __name((pieces, options, ms) => {
150
150
  }
151
151
  const { conjunction, serialComma } = options;
152
152
  let delimiter = ", ";
153
- if (options.delimiter !== undefined) {
153
+ if (options.delimiter !== void 0) {
154
154
  delimiter = options.delimiter;
155
- } else if (language.delimiter !== undefined) {
155
+ } else if (language.delimiter !== void 0) {
156
156
  delimiter = language.delimiter;
157
157
  }
158
158
  let adverb = "";
@@ -185,7 +185,7 @@ const duration = /* @__PURE__ */ __name((milliseconds, options) => {
185
185
  throw new TypeError("Expected a valid number");
186
186
  }
187
187
  if (typeof milliseconds !== "number") {
188
- throw new TypeError("Expected a number");
188
+ throw new TypeError("Expected a number for milliseconds input");
189
189
  }
190
190
  const config = {
191
191
  conjunction: "",
@@ -5,7 +5,7 @@ var __defProp = Object.defineProperty;
5
5
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
6
  const toFixed = /* @__PURE__ */ __name((number_, fixed) => {
7
7
  fixed = fixed || -1;
8
- const matches = new RegExp(`^-?\\d+(?:.\\d{0,${fixed}})?`).exec(number_.toString());
8
+ const matches = new RegExp(`^-?\\d+(?:.\\d{0,${String(fixed)}})?`).exec(number_.toString());
9
9
  if (matches === null) {
10
10
  return number_;
11
11
  }
@@ -15,9 +15,9 @@ const renderPiece = /* @__PURE__ */ __name(({ unitCount, unitName }, language, o
15
15
  let { spacer } = options;
16
16
  const { maxDecimalPoints } = options;
17
17
  let decimal = ".";
18
- if (options.decimal !== undefined) {
18
+ if (options.decimal !== void 0) {
19
19
  decimal = options.decimal;
20
- } else if (language.decimal !== undefined) {
20
+ } else if (language.decimal !== void 0) {
21
21
  decimal = language.decimal;
22
22
  }
23
23
  let digitReplacements;
@@ -28,7 +28,7 @@ const renderPiece = /* @__PURE__ */ __name(({ unitCount, unitName }, language, o
28
28
  }
29
29
  let formattedCount;
30
30
  let normalizedUnitCount = unitCount;
31
- if (maxDecimalPoints !== undefined) {
31
+ if (maxDecimalPoints !== void 0) {
32
32
  normalizedUnitCount = toFixed(unitCount, maxDecimalPoints);
33
33
  }
34
34
  const countString = normalizedUnitCount.toString();
@@ -130,7 +130,7 @@ const getPieces = /* @__PURE__ */ __name((ms, options) => {
130
130
  remainder += unitCounts[remainderUnitName] * (options.unitMeasures[remainderUnitName] / options.unitMeasures[unitName]);
131
131
  }
132
132
  unitCount += remainder;
133
- if (options.maxDecimalPoints !== undefined) {
133
+ if (options.maxDecimalPoints !== void 0) {
134
134
  unitCount = toFixed(unitCount, options.maxDecimalPoints);
135
135
  }
136
136
  }
@@ -148,9 +148,9 @@ const formatPieces = /* @__PURE__ */ __name((pieces, options, ms) => {
148
148
  }
149
149
  const { conjunction, serialComma } = options;
150
150
  let delimiter = ", ";
151
- if (options.delimiter !== undefined) {
151
+ if (options.delimiter !== void 0) {
152
152
  delimiter = options.delimiter;
153
- } else if (language.delimiter !== undefined) {
153
+ } else if (language.delimiter !== void 0) {
154
154
  delimiter = language.delimiter;
155
155
  }
156
156
  let adverb = "";
@@ -183,7 +183,7 @@ const duration = /* @__PURE__ */ __name((milliseconds, options) => {
183
183
  throw new TypeError("Expected a valid number");
184
184
  }
185
185
  if (typeof milliseconds !== "number") {
186
- throw new TypeError("Expected a number");
186
+ throw new TypeError("Expected a number for milliseconds input");
187
187
  }
188
188
  const config = {
189
189
  conjunction: "",
@@ -233,7 +233,7 @@ const formatBytes = /* @__PURE__ */ __name((bytes, options) => {
233
233
  const level = requestedUnitIndex >= 0 ? requestedUnitIndex : Math.min(Math.floor(Math.log(absoluteBytes) / Math.log(base)), referenceTable.length - 1);
234
234
  const unit = referenceTable[level][long ? "long" : "short"];
235
235
  const value = bytes / base ** level;
236
- const fractionDigits = decimals < 0 ? undefined : decimals;
236
+ const fractionDigits = decimals < 0 ? void 0 : decimals;
237
237
  const formattedValue = new Intl.NumberFormat(locale, {
238
238
  // @ts-expect-error - should be overridden by the options
239
239
  maximumFractionDigits: fractionDigits,
@@ -229,7 +229,7 @@ const formatBytes = /* @__PURE__ */ __name((bytes, options) => {
229
229
  const level = requestedUnitIndex >= 0 ? requestedUnitIndex : Math.min(Math.floor(Math.log(absoluteBytes) / Math.log(base)), referenceTable.length - 1);
230
230
  const unit = referenceTable[level][long ? "long" : "short"];
231
231
  const value = bytes / base ** level;
232
- const fractionDigits = decimals < 0 ? undefined : decimals;
232
+ const fractionDigits = decimals < 0 ? void 0 : decimals;
233
233
  const formattedValue = new Intl.NumberFormat(locale, {
234
234
  // @ts-expect-error - should be overridden by the options
235
235
  maximumFractionDigits: fractionDigits,
@@ -0,0 +1,115 @@
1
+ 'use strict';
2
+
3
+ const language_en = require('../language/en.cjs');
4
+ const language_util_validateDurationLanguage = require('../language/util/validate-duration-language.cjs');
5
+
6
+ var __defProp = Object.defineProperty;
7
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
8
+ const STANDARD_UNIT_MEASURES = {
9
+ d: 864e5,
10
+ h: 36e5,
11
+ m: 6e4,
12
+ mo: 2629746e3,
13
+ ms: 1,
14
+ s: 1e3,
15
+ w: 6048e5,
16
+ y: 31556952e3
17
+ };
18
+ const ESCAPE_REGEX = /[-/\\^$*+?.()|[\]{}]/g;
19
+ const ISO_FORMAT = /^PT(?:(\d+)H)?(?:(\d+)M)?(?:(\d+)S)?$/i;
20
+ const COLON_FORMAT = /^(?:(\d+):)?(?:(\d+):)?(\d+)$/;
21
+ const NUMERIC_STRING_REGEX = /^[+-]?\d+(?:\.\d+)?$/;
22
+ const parseDuration = /* @__PURE__ */ __name((value, options) => {
23
+ if (typeof value !== "string" || value.length === 0) {
24
+ return void 0;
25
+ }
26
+ const { defaultUnit = "ms", language = language_en.durationLanguage } = options ?? {};
27
+ language_util_validateDurationLanguage(language);
28
+ const decimalSeparator = language.decimal ?? ".";
29
+ const groupSeparator = language.groupSeparator ?? ",";
30
+ const placeholderSeparator = language.placeholderSeparator ?? "_";
31
+ const escapedDecimal = decimalSeparator.replaceAll(ESCAPE_REGEX, "\\$&");
32
+ const escapedGroup = groupSeparator.replaceAll(ESCAPE_REGEX, "\\$&");
33
+ const escapedPlaceholder = placeholderSeparator.replaceAll(ESCAPE_REGEX, "\\$&");
34
+ const currentUnitMap = language.unitMap ?? language_en.englishUnitMap;
35
+ let processedValue = value.replaceAll(new RegExp(`(\\d)[${escapedPlaceholder}${escapedGroup}](\\d)`, "g"), "$1$2");
36
+ if (decimalSeparator !== ".") {
37
+ processedValue = processedValue.replace(escapedDecimal, ".");
38
+ }
39
+ if (NUMERIC_STRING_REGEX.test(value)) {
40
+ const numberOnly = Number.parseFloat(processedValue.trim());
41
+ if (!Number.isNaN(numberOnly)) {
42
+ const unitKey = currentUnitMap[defaultUnit];
43
+ if (unitKey !== void 0) {
44
+ return numberOnly * STANDARD_UNIT_MEASURES[unitKey];
45
+ }
46
+ }
47
+ return void 0;
48
+ }
49
+ const isoMatch = ISO_FORMAT.exec(value);
50
+ if (isoMatch) {
51
+ const hours = Number.parseInt(isoMatch[1] ?? "0", 10);
52
+ const minutes = Number.parseInt(isoMatch[2] ?? "0", 10);
53
+ const seconds = Number.parseInt(isoMatch[3] ?? "0", 10);
54
+ return hours * 36e5 + minutes * 6e4 + seconds * 1e3;
55
+ }
56
+ const colonMatch = COLON_FORMAT.exec(value);
57
+ if (colonMatch) {
58
+ let hours = 0;
59
+ let minutes = 0;
60
+ let seconds = 0;
61
+ if (colonMatch[2] !== void 0) {
62
+ hours = Number.parseInt(colonMatch[1] ?? "0", 10);
63
+ minutes = Number.parseInt(colonMatch[2], 10);
64
+ } else if (colonMatch[1] !== void 0) {
65
+ minutes = Number.parseInt(colonMatch[1], 10);
66
+ }
67
+ seconds = Number.parseInt(colonMatch[3] ?? "0", 10);
68
+ return hours * 36e5 + minutes * 6e4 + seconds * 1e3;
69
+ }
70
+ const currentUnitMapKeys = Object.keys(currentUnitMap);
71
+ const regexKeys = currentUnitMapKeys.sort((a, b) => b.length - a.length).map((k) => k.replaceAll(ESCAPE_REGEX, "\\$&")).join("|");
72
+ const durationRegex = new RegExp(`(-?\\d*\\.?\\d+)\\s*(${regexKeys})`, "gi");
73
+ let totalMs = 0;
74
+ let match;
75
+ let unitsFound = false;
76
+ let firstMatchIndex = -1;
77
+ let lastMatchEndIndex = 0;
78
+ durationRegex.lastIndex = 0;
79
+ while ((match = durationRegex.exec(processedValue)) !== null) {
80
+ if (!unitsFound) {
81
+ firstMatchIndex = match.index;
82
+ }
83
+ unitsFound = true;
84
+ const numberString = match[1];
85
+ const unitString = match[2];
86
+ if (!numberString || !unitString) {
87
+ continue;
88
+ }
89
+ const trimmedNumberString = numberString.trim();
90
+ const sign = trimmedNumberString.startsWith("-") ? -1 : 1;
91
+ const absNumberString = trimmedNumberString.replace(/^[-+]/, "");
92
+ const parsedNumber = Number.parseFloat(absNumberString);
93
+ const unitKey = currentUnitMap[unitString.toLowerCase()];
94
+ if (unitKey === void 0) {
95
+ continue;
96
+ }
97
+ const unitValue = STANDARD_UNIT_MEASURES[unitKey];
98
+ if (Number.isNaN(parsedNumber)) {
99
+ return void 0;
100
+ }
101
+ totalMs += sign * parsedNumber * unitValue;
102
+ lastMatchEndIndex = durationRegex.lastIndex;
103
+ }
104
+ const leadingText = processedValue.slice(0, firstMatchIndex).trim();
105
+ const trailingText = processedValue.slice(lastMatchEndIndex).trim();
106
+ if (unitsFound && (leadingText.length > 0 || trailingText.length > 0)) {
107
+ return void 0;
108
+ }
109
+ if (!unitsFound) {
110
+ return void 0;
111
+ }
112
+ return totalMs;
113
+ }, "parseDuration");
114
+
115
+ module.exports = parseDuration;