javascript-time-ago 2.6.2 → 2.6.4

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 (1226) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/README.md +19 -24
  3. package/bundle/javascript-time-ago.js +1 -1
  4. package/bundle/javascript-time-ago.js.map +1 -1
  5. package/bundle/javascript-time-ago.min.js +1 -1
  6. package/bundle/javascript-time-ago.min.js.map +1 -1
  7. package/commonjs/FullDateFormatter.test.js +11 -9
  8. package/commonjs/FullDateFormatter.test.js.map +1 -1
  9. package/commonjs/TimeAgo.js +1 -0
  10. package/commonjs/TimeAgo.js.map +1 -1
  11. package/commonjs/TimeAgo.test.js +249 -236
  12. package/commonjs/TimeAgo.test.js.map +1 -1
  13. package/commonjs/cache.test.js +8 -6
  14. package/commonjs/cache.test.js.map +1 -1
  15. package/commonjs/isStyleObject.test.js +21 -19
  16. package/commonjs/isStyleObject.test.js.map +1 -1
  17. package/commonjs/locale.test.js +16 -14
  18. package/commonjs/locale.test.js.map +1 -1
  19. package/commonjs/steps/approximate.test.js +26 -24
  20. package/commonjs/steps/approximate.test.js.map +1 -1
  21. package/commonjs/steps/getStep.test.js +20 -18
  22. package/commonjs/steps/getStep.test.js.map +1 -1
  23. package/commonjs/steps/getStepDenominator.test.js +9 -7
  24. package/commonjs/steps/getStepDenominator.test.js.map +1 -1
  25. package/commonjs/steps/getStepMinTime.test.js +9 -7
  26. package/commonjs/steps/getStepMinTime.test.js.map +1 -1
  27. package/commonjs/steps/getTimeToNextUpdate.test.js +56 -54
  28. package/commonjs/steps/getTimeToNextUpdate.test.js.map +1 -1
  29. package/commonjs/steps/getTimeToNextUpdateForUnit.test.js +20 -18
  30. package/commonjs/steps/getTimeToNextUpdateForUnit.test.js.map +1 -1
  31. package/commonjs/steps/helpers.test.js +6 -4
  32. package/commonjs/steps/helpers.test.js.map +1 -1
  33. package/commonjs/steps/renameLegacyProperties.test.js +12 -10
  34. package/commonjs/steps/renameLegacyProperties.test.js.map +1 -1
  35. package/commonjs/steps/round.test.js +27 -25
  36. package/commonjs/steps/round.test.js.map +1 -1
  37. package/commonjs/style/approximateTime.test.js +6 -5
  38. package/commonjs/style/approximateTime.test.js.map +1 -1
  39. package/commonjs/style/mini.test.js +62 -60
  40. package/commonjs/style/mini.test.js.map +1 -1
  41. package/commonjs/style/miniMinute.test.js +27 -25
  42. package/commonjs/style/miniMinute.test.js.map +1 -1
  43. package/commonjs/style/miniMinuteNow.test.js +27 -25
  44. package/commonjs/style/miniMinuteNow.test.js.map +1 -1
  45. package/commonjs/style/miniNow.test.js +27 -25
  46. package/commonjs/style/miniNow.test.js.map +1 -1
  47. package/commonjs/style/renameLegacyProperties.test.js +9 -7
  48. package/commonjs/style/renameLegacyProperties.test.js.map +1 -1
  49. package/commonjs/style/round.test.js +81 -79
  50. package/commonjs/style/round.test.js.map +1 -1
  51. package/commonjs/style/roundMinute.test.js +50 -48
  52. package/commonjs/style/roundMinute.test.js.map +1 -1
  53. package/commonjs/style/twitter.test.js +86 -84
  54. package/commonjs/style/twitter.test.js.map +1 -1
  55. package/commonjs/style/twitterFirstMinute.test.js +33 -31
  56. package/commonjs/style/twitterFirstMinute.test.js.map +1 -1
  57. package/commonjs/style/twitterMinute.test.js +32 -30
  58. package/commonjs/style/twitterMinute.test.js.map +1 -1
  59. package/commonjs/style/twitterMinuteNow.test.js +32 -30
  60. package/commonjs/style/twitterMinuteNow.test.js.map +1 -1
  61. package/commonjs/style/twitterNow.test.js +34 -32
  62. package/commonjs/style/twitterNow.test.js.map +1 -1
  63. package/load-all-locales/index.cjs +15 -0
  64. package/load-all-locales/index.cjs.js +15 -0
  65. package/load-all-locales/index.d.ts +0 -0
  66. package/load-all-locales/index.js +30 -0
  67. package/locale/af/index.cjs +7 -0
  68. package/locale/af/index.js +6 -0
  69. package/locale/af/package.json +5 -5
  70. package/locale/ak/index.cjs +7 -0
  71. package/locale/ak/index.js +6 -0
  72. package/locale/ak/package.json +5 -5
  73. package/locale/ak.json +8 -26
  74. package/locale/ak.json.js +8 -26
  75. package/locale/am/index.cjs +7 -0
  76. package/locale/am/index.js +6 -0
  77. package/locale/am/package.json +5 -5
  78. package/locale/am.json +3 -3
  79. package/locale/am.json.js +3 -3
  80. package/locale/ar/index.cjs +7 -0
  81. package/locale/ar/index.js +6 -0
  82. package/locale/ar/package.json +5 -5
  83. package/locale/ar-AE/index.cjs +7 -0
  84. package/locale/ar-AE/index.js +6 -0
  85. package/locale/ar-AE/package.json +5 -5
  86. package/locale/as/index.cjs +7 -0
  87. package/locale/as/index.js +6 -0
  88. package/locale/as/package.json +5 -5
  89. package/locale/ast/index.cjs +7 -0
  90. package/locale/ast/index.js +6 -0
  91. package/locale/ast/package.json +5 -5
  92. package/locale/az/index.cjs +7 -0
  93. package/locale/az/index.js +6 -0
  94. package/locale/az/package.json +5 -5
  95. package/locale/ba/index.cjs +7 -0
  96. package/locale/ba/index.js +6 -0
  97. package/locale/ba/package.json +16 -0
  98. package/locale/ba.json +159 -0
  99. package/locale/ba.json.d.ts +4 -0
  100. package/locale/ba.json.js +159 -0
  101. package/locale/bal-Latn/index.cjs +7 -0
  102. package/locale/bal-Latn/index.js +6 -0
  103. package/locale/bal-Latn/package.json +5 -5
  104. package/locale/be/index.cjs +7 -0
  105. package/locale/be/index.js +6 -0
  106. package/locale/be/package.json +5 -5
  107. package/locale/be-tarask/index.cjs +7 -0
  108. package/locale/be-tarask/index.js +6 -0
  109. package/locale/be-tarask/package.json +5 -5
  110. package/locale/be-tarask.json +4 -4
  111. package/locale/be-tarask.json.js +4 -4
  112. package/locale/be.json +4 -4
  113. package/locale/be.json.js +4 -4
  114. package/locale/bg/index.cjs +7 -0
  115. package/locale/bg/index.js +6 -0
  116. package/locale/bg/package.json +5 -5
  117. package/locale/bgc/index.cjs +7 -0
  118. package/locale/bgc/index.js +6 -0
  119. package/locale/bgc/package.json +5 -5
  120. package/locale/blo/index.cjs +7 -0
  121. package/locale/blo/index.js +6 -0
  122. package/locale/blo/package.json +5 -5
  123. package/locale/bn/index.cjs +7 -0
  124. package/locale/bn/index.js +6 -0
  125. package/locale/bn/package.json +5 -5
  126. package/locale/bn.json +6 -6
  127. package/locale/bn.json.js +6 -6
  128. package/locale/br/index.cjs +7 -0
  129. package/locale/br/index.js +6 -0
  130. package/locale/br/package.json +5 -5
  131. package/locale/brx/index.cjs +7 -0
  132. package/locale/brx/index.js +6 -0
  133. package/locale/brx/package.json +5 -5
  134. package/locale/bs/index.cjs +7 -0
  135. package/locale/bs/index.js +6 -0
  136. package/locale/bs/package.json +5 -5
  137. package/locale/bs-Cyrl/index.cjs +7 -0
  138. package/locale/bs-Cyrl/index.js +6 -0
  139. package/locale/bs-Cyrl/package.json +5 -5
  140. package/locale/bs.json +36 -30
  141. package/locale/bs.json.js +36 -30
  142. package/locale/bua/index.cjs +7 -0
  143. package/locale/bua/index.js +6 -0
  144. package/locale/bua/package.json +16 -0
  145. package/locale/bua.json +159 -0
  146. package/locale/bua.json.d.ts +4 -0
  147. package/locale/bua.json.js +159 -0
  148. package/locale/ca/index.cjs +7 -0
  149. package/locale/ca/index.js +6 -0
  150. package/locale/ca/package.json +5 -5
  151. package/locale/ccp/index.cjs +7 -0
  152. package/locale/ccp/index.js +6 -0
  153. package/locale/ccp/package.json +5 -5
  154. package/locale/ce/index.cjs +7 -0
  155. package/locale/ce/index.js +6 -0
  156. package/locale/ce/package.json +5 -5
  157. package/locale/ceb/index.cjs +7 -0
  158. package/locale/ceb/index.js +6 -0
  159. package/locale/ceb/package.json +5 -5
  160. package/locale/chr/index.cjs +7 -0
  161. package/locale/chr/index.js +6 -0
  162. package/locale/chr/package.json +5 -5
  163. package/locale/cs/index.cjs +7 -0
  164. package/locale/cs/index.js +6 -0
  165. package/locale/cs/package.json +5 -5
  166. package/locale/csw/index.cjs +7 -0
  167. package/locale/csw/index.js +6 -0
  168. package/locale/csw/package.json +5 -5
  169. package/locale/cv/index.cjs +7 -0
  170. package/locale/cv/index.js +6 -0
  171. package/locale/cv/package.json +5 -5
  172. package/locale/cv.json +134 -82
  173. package/locale/cv.json.js +134 -82
  174. package/locale/cy/index.cjs +7 -0
  175. package/locale/cy/index.js +6 -0
  176. package/locale/cy/package.json +5 -5
  177. package/locale/da/index.cjs +7 -0
  178. package/locale/da/index.js +6 -0
  179. package/locale/da/package.json +5 -5
  180. package/locale/de/index.cjs +7 -0
  181. package/locale/de/index.js +6 -0
  182. package/locale/de/package.json +5 -5
  183. package/locale/doi/index.cjs +7 -0
  184. package/locale/doi/index.js +6 -0
  185. package/locale/doi/package.json +5 -5
  186. package/locale/dsb/index.cjs +7 -0
  187. package/locale/dsb/index.js +6 -0
  188. package/locale/dsb/package.json +5 -5
  189. package/locale/dz/index.cjs +7 -0
  190. package/locale/dz/index.js +6 -0
  191. package/locale/dz/package.json +5 -5
  192. package/locale/ee/index.cjs +7 -0
  193. package/locale/ee/index.js +6 -0
  194. package/locale/ee/package.json +5 -5
  195. package/locale/el/index.cjs +7 -0
  196. package/locale/el/index.js +6 -0
  197. package/locale/el/package.json +5 -5
  198. package/locale/en/index.cjs +7 -0
  199. package/locale/en/index.js +6 -0
  200. package/locale/en/package.json +5 -5
  201. package/locale/en-001/index.cjs +7 -0
  202. package/locale/en-001/index.js +6 -0
  203. package/locale/en-001/package.json +5 -5
  204. package/locale/en-150/index.cjs +7 -0
  205. package/locale/en-150/index.js +6 -0
  206. package/locale/en-150/package.json +5 -5
  207. package/locale/en-AG/index.cjs +7 -0
  208. package/locale/en-AG/index.js +6 -0
  209. package/locale/en-AG/package.json +5 -5
  210. package/locale/en-AI/index.cjs +7 -0
  211. package/locale/en-AI/index.js +6 -0
  212. package/locale/en-AI/package.json +5 -5
  213. package/locale/en-AT/index.cjs +7 -0
  214. package/locale/en-AT/index.js +6 -0
  215. package/locale/en-AT/package.json +5 -5
  216. package/locale/en-AU/index.cjs +7 -0
  217. package/locale/en-AU/index.js +6 -0
  218. package/locale/en-AU/package.json +5 -5
  219. package/locale/en-BB/index.cjs +7 -0
  220. package/locale/en-BB/index.js +6 -0
  221. package/locale/en-BB/package.json +5 -5
  222. package/locale/en-BE/index.cjs +7 -0
  223. package/locale/en-BE/index.js +6 -0
  224. package/locale/en-BE/package.json +5 -5
  225. package/locale/en-BM/index.cjs +7 -0
  226. package/locale/en-BM/index.js +6 -0
  227. package/locale/en-BM/package.json +5 -5
  228. package/locale/en-BS/index.cjs +7 -0
  229. package/locale/en-BS/index.js +6 -0
  230. package/locale/en-BS/package.json +5 -5
  231. package/locale/en-BW/index.cjs +7 -0
  232. package/locale/en-BW/index.js +6 -0
  233. package/locale/en-BW/package.json +5 -5
  234. package/locale/en-BZ/index.cjs +7 -0
  235. package/locale/en-BZ/index.js +6 -0
  236. package/locale/en-BZ/package.json +5 -5
  237. package/locale/en-CA/index.cjs +7 -0
  238. package/locale/en-CA/index.js +6 -0
  239. package/locale/en-CA/package.json +5 -5
  240. package/locale/en-CC/index.cjs +7 -0
  241. package/locale/en-CC/index.js +6 -0
  242. package/locale/en-CC/package.json +5 -5
  243. package/locale/en-CH/index.cjs +7 -0
  244. package/locale/en-CH/index.js +6 -0
  245. package/locale/en-CH/package.json +5 -5
  246. package/locale/en-CK/index.cjs +7 -0
  247. package/locale/en-CK/index.js +6 -0
  248. package/locale/en-CK/package.json +5 -5
  249. package/locale/en-CM/index.cjs +7 -0
  250. package/locale/en-CM/index.js +6 -0
  251. package/locale/en-CM/package.json +5 -5
  252. package/locale/en-CX/index.cjs +7 -0
  253. package/locale/en-CX/index.js +6 -0
  254. package/locale/en-CX/package.json +5 -5
  255. package/locale/en-CY/index.cjs +7 -0
  256. package/locale/en-CY/index.js +6 -0
  257. package/locale/en-CY/package.json +5 -5
  258. package/locale/en-CZ/index.cjs +7 -0
  259. package/locale/en-CZ/index.js +6 -0
  260. package/locale/en-CZ/package.json +5 -5
  261. package/locale/en-DE/index.cjs +7 -0
  262. package/locale/en-DE/index.js +6 -0
  263. package/locale/en-DE/package.json +5 -5
  264. package/locale/en-DG/index.cjs +7 -0
  265. package/locale/en-DG/index.js +6 -0
  266. package/locale/en-DG/package.json +5 -5
  267. package/locale/en-DK/index.cjs +7 -0
  268. package/locale/en-DK/index.js +6 -0
  269. package/locale/en-DK/package.json +5 -5
  270. package/locale/en-DM/index.cjs +7 -0
  271. package/locale/en-DM/index.js +6 -0
  272. package/locale/en-DM/package.json +5 -5
  273. package/locale/en-EE/index.cjs +7 -0
  274. package/locale/en-EE/index.js +6 -0
  275. package/locale/en-EE/package.json +16 -0
  276. package/locale/en-EE.json +219 -0
  277. package/locale/en-EE.json.d.ts +4 -0
  278. package/locale/en-EE.json.js +219 -0
  279. package/locale/en-ER/index.cjs +7 -0
  280. package/locale/en-ER/index.js +6 -0
  281. package/locale/en-ER/package.json +5 -5
  282. package/locale/en-ES/index.cjs +7 -0
  283. package/locale/en-ES/index.js +6 -0
  284. package/locale/en-ES/package.json +5 -5
  285. package/locale/en-FI/index.cjs +7 -0
  286. package/locale/en-FI/index.js +6 -0
  287. package/locale/en-FI/package.json +5 -5
  288. package/locale/en-FJ/index.cjs +7 -0
  289. package/locale/en-FJ/index.js +6 -0
  290. package/locale/en-FJ/package.json +5 -5
  291. package/locale/en-FK/index.cjs +7 -0
  292. package/locale/en-FK/index.js +6 -0
  293. package/locale/en-FK/package.json +5 -5
  294. package/locale/en-FM/index.cjs +7 -0
  295. package/locale/en-FM/index.js +6 -0
  296. package/locale/en-FM/package.json +5 -5
  297. package/locale/en-FR/index.cjs +7 -0
  298. package/locale/en-FR/index.js +6 -0
  299. package/locale/en-FR/package.json +5 -5
  300. package/locale/en-GB/index.cjs +7 -0
  301. package/locale/en-GB/index.js +6 -0
  302. package/locale/en-GB/package.json +5 -5
  303. package/locale/en-GD/index.cjs +7 -0
  304. package/locale/en-GD/index.js +6 -0
  305. package/locale/en-GD/package.json +5 -5
  306. package/locale/en-GE/index.cjs +7 -0
  307. package/locale/en-GE/index.js +6 -0
  308. package/locale/en-GE/package.json +16 -0
  309. package/locale/en-GE.json +219 -0
  310. package/locale/en-GE.json.d.ts +4 -0
  311. package/locale/en-GE.json.js +219 -0
  312. package/locale/en-GG/index.cjs +7 -0
  313. package/locale/en-GG/index.js +6 -0
  314. package/locale/en-GG/package.json +5 -5
  315. package/locale/en-GH/index.cjs +7 -0
  316. package/locale/en-GH/index.js +6 -0
  317. package/locale/en-GH/package.json +5 -5
  318. package/locale/en-GI/index.cjs +7 -0
  319. package/locale/en-GI/index.js +6 -0
  320. package/locale/en-GI/package.json +5 -5
  321. package/locale/en-GM/index.cjs +7 -0
  322. package/locale/en-GM/index.js +6 -0
  323. package/locale/en-GM/package.json +5 -5
  324. package/locale/en-GS/index.cjs +7 -0
  325. package/locale/en-GS/index.js +6 -0
  326. package/locale/en-GS/package.json +5 -5
  327. package/locale/en-GY/index.cjs +7 -0
  328. package/locale/en-GY/index.js +6 -0
  329. package/locale/en-GY/package.json +5 -5
  330. package/locale/en-HK/index.cjs +7 -0
  331. package/locale/en-HK/index.js +6 -0
  332. package/locale/en-HK/package.json +5 -5
  333. package/locale/en-HU/index.cjs +7 -0
  334. package/locale/en-HU/index.js +6 -0
  335. package/locale/en-HU/package.json +5 -5
  336. package/locale/en-ID/index.cjs +7 -0
  337. package/locale/en-ID/index.js +6 -0
  338. package/locale/en-ID/package.json +5 -5
  339. package/locale/en-IE/index.cjs +7 -0
  340. package/locale/en-IE/index.js +6 -0
  341. package/locale/en-IE/package.json +5 -5
  342. package/locale/en-IL/index.cjs +7 -0
  343. package/locale/en-IL/index.js +6 -0
  344. package/locale/en-IL/package.json +5 -5
  345. package/locale/en-IM/index.cjs +7 -0
  346. package/locale/en-IM/index.js +6 -0
  347. package/locale/en-IM/package.json +5 -5
  348. package/locale/en-IN/index.cjs +7 -0
  349. package/locale/en-IN/index.js +6 -0
  350. package/locale/en-IN/package.json +5 -5
  351. package/locale/en-IO/index.cjs +7 -0
  352. package/locale/en-IO/index.js +6 -0
  353. package/locale/en-IO/package.json +5 -5
  354. package/locale/en-IT/index.cjs +7 -0
  355. package/locale/en-IT/index.js +6 -0
  356. package/locale/en-IT/package.json +5 -5
  357. package/locale/en-JE/index.cjs +7 -0
  358. package/locale/en-JE/index.js +6 -0
  359. package/locale/en-JE/package.json +5 -5
  360. package/locale/en-JM/index.cjs +7 -0
  361. package/locale/en-JM/index.js +6 -0
  362. package/locale/en-JM/package.json +5 -5
  363. package/locale/en-KE/index.cjs +7 -0
  364. package/locale/en-KE/index.js +6 -0
  365. package/locale/en-KE/package.json +5 -5
  366. package/locale/en-KI/index.cjs +7 -0
  367. package/locale/en-KI/index.js +6 -0
  368. package/locale/en-KI/package.json +5 -5
  369. package/locale/en-KN/index.cjs +7 -0
  370. package/locale/en-KN/index.js +6 -0
  371. package/locale/en-KN/package.json +5 -5
  372. package/locale/en-KY/index.cjs +7 -0
  373. package/locale/en-KY/index.js +6 -0
  374. package/locale/en-KY/package.json +5 -5
  375. package/locale/en-LC/index.cjs +7 -0
  376. package/locale/en-LC/index.js +6 -0
  377. package/locale/en-LC/package.json +5 -5
  378. package/locale/en-LR/index.cjs +7 -0
  379. package/locale/en-LR/index.js +6 -0
  380. package/locale/en-LR/package.json +5 -5
  381. package/locale/en-LS/index.cjs +7 -0
  382. package/locale/en-LS/index.js +6 -0
  383. package/locale/en-LS/package.json +5 -5
  384. package/locale/en-LT/index.cjs +7 -0
  385. package/locale/en-LT/index.js +6 -0
  386. package/locale/en-LT/package.json +16 -0
  387. package/locale/en-LT.json +219 -0
  388. package/locale/en-LT.json.d.ts +4 -0
  389. package/locale/en-LT.json.js +219 -0
  390. package/locale/en-LV/index.cjs +7 -0
  391. package/locale/en-LV/index.js +6 -0
  392. package/locale/en-LV/package.json +16 -0
  393. package/locale/en-LV.json +219 -0
  394. package/locale/en-LV.json.d.ts +4 -0
  395. package/locale/en-LV.json.js +219 -0
  396. package/locale/en-MG/index.cjs +7 -0
  397. package/locale/en-MG/index.js +6 -0
  398. package/locale/en-MG/package.json +5 -5
  399. package/locale/en-MO/index.cjs +7 -0
  400. package/locale/en-MO/index.js +6 -0
  401. package/locale/en-MO/package.json +5 -5
  402. package/locale/en-MS/index.cjs +7 -0
  403. package/locale/en-MS/index.js +6 -0
  404. package/locale/en-MS/package.json +5 -5
  405. package/locale/en-MT/index.cjs +7 -0
  406. package/locale/en-MT/index.js +6 -0
  407. package/locale/en-MT/package.json +5 -5
  408. package/locale/en-MU/index.cjs +7 -0
  409. package/locale/en-MU/index.js +6 -0
  410. package/locale/en-MU/package.json +5 -5
  411. package/locale/en-MV/index.cjs +7 -0
  412. package/locale/en-MV/index.js +6 -0
  413. package/locale/en-MV/package.json +5 -5
  414. package/locale/en-MW/index.cjs +7 -0
  415. package/locale/en-MW/index.js +6 -0
  416. package/locale/en-MW/package.json +5 -5
  417. package/locale/en-MY/index.cjs +7 -0
  418. package/locale/en-MY/index.js +6 -0
  419. package/locale/en-MY/package.json +5 -5
  420. package/locale/en-NA/index.cjs +7 -0
  421. package/locale/en-NA/index.js +6 -0
  422. package/locale/en-NA/package.json +5 -5
  423. package/locale/en-NF/index.cjs +7 -0
  424. package/locale/en-NF/index.js +6 -0
  425. package/locale/en-NF/package.json +5 -5
  426. package/locale/en-NG/index.cjs +7 -0
  427. package/locale/en-NG/index.js +6 -0
  428. package/locale/en-NG/package.json +5 -5
  429. package/locale/en-NL/index.cjs +7 -0
  430. package/locale/en-NL/index.js +6 -0
  431. package/locale/en-NL/package.json +5 -5
  432. package/locale/en-NO/index.cjs +7 -0
  433. package/locale/en-NO/index.js +6 -0
  434. package/locale/en-NO/package.json +5 -5
  435. package/locale/en-NR/index.cjs +7 -0
  436. package/locale/en-NR/index.js +6 -0
  437. package/locale/en-NR/package.json +5 -5
  438. package/locale/en-NU/index.cjs +7 -0
  439. package/locale/en-NU/index.js +6 -0
  440. package/locale/en-NU/package.json +5 -5
  441. package/locale/en-NZ/index.cjs +7 -0
  442. package/locale/en-NZ/index.js +6 -0
  443. package/locale/en-NZ/package.json +5 -5
  444. package/locale/en-PG/index.cjs +7 -0
  445. package/locale/en-PG/index.js +6 -0
  446. package/locale/en-PG/package.json +5 -5
  447. package/locale/en-PK/index.cjs +7 -0
  448. package/locale/en-PK/index.js +6 -0
  449. package/locale/en-PK/package.json +5 -5
  450. package/locale/en-PL/index.cjs +7 -0
  451. package/locale/en-PL/index.js +6 -0
  452. package/locale/en-PL/package.json +5 -5
  453. package/locale/en-PN/index.cjs +7 -0
  454. package/locale/en-PN/index.js +6 -0
  455. package/locale/en-PN/package.json +5 -5
  456. package/locale/en-PT/index.cjs +7 -0
  457. package/locale/en-PT/index.js +6 -0
  458. package/locale/en-PT/package.json +5 -5
  459. package/locale/en-PW/index.cjs +7 -0
  460. package/locale/en-PW/index.js +6 -0
  461. package/locale/en-PW/package.json +5 -5
  462. package/locale/en-RO/index.cjs +7 -0
  463. package/locale/en-RO/index.js +6 -0
  464. package/locale/en-RO/package.json +5 -5
  465. package/locale/en-RW/index.cjs +7 -0
  466. package/locale/en-RW/index.js +6 -0
  467. package/locale/en-RW/package.json +5 -5
  468. package/locale/en-SB/index.cjs +7 -0
  469. package/locale/en-SB/index.js +6 -0
  470. package/locale/en-SB/package.json +5 -5
  471. package/locale/en-SC/index.cjs +7 -0
  472. package/locale/en-SC/index.js +6 -0
  473. package/locale/en-SC/package.json +5 -5
  474. package/locale/en-SD/index.cjs +7 -0
  475. package/locale/en-SD/index.js +6 -0
  476. package/locale/en-SD/package.json +5 -5
  477. package/locale/en-SE/index.cjs +7 -0
  478. package/locale/en-SE/index.js +6 -0
  479. package/locale/en-SE/package.json +5 -5
  480. package/locale/en-SG/index.cjs +7 -0
  481. package/locale/en-SG/index.js +6 -0
  482. package/locale/en-SG/package.json +5 -5
  483. package/locale/en-SH/index.cjs +7 -0
  484. package/locale/en-SH/index.js +6 -0
  485. package/locale/en-SH/package.json +5 -5
  486. package/locale/en-SI/index.cjs +7 -0
  487. package/locale/en-SI/index.js +6 -0
  488. package/locale/en-SI/package.json +5 -5
  489. package/locale/en-SK/index.cjs +7 -0
  490. package/locale/en-SK/index.js +6 -0
  491. package/locale/en-SK/package.json +5 -5
  492. package/locale/en-SL/index.cjs +7 -0
  493. package/locale/en-SL/index.js +6 -0
  494. package/locale/en-SL/package.json +5 -5
  495. package/locale/en-SS/index.cjs +7 -0
  496. package/locale/en-SS/index.js +6 -0
  497. package/locale/en-SS/package.json +5 -5
  498. package/locale/en-SX/index.cjs +7 -0
  499. package/locale/en-SX/index.js +6 -0
  500. package/locale/en-SX/package.json +5 -5
  501. package/locale/en-SZ/index.cjs +7 -0
  502. package/locale/en-SZ/index.js +6 -0
  503. package/locale/en-SZ/package.json +5 -5
  504. package/locale/en-TC/index.cjs +7 -0
  505. package/locale/en-TC/index.js +6 -0
  506. package/locale/en-TC/package.json +5 -5
  507. package/locale/en-TK/index.cjs +7 -0
  508. package/locale/en-TK/index.js +6 -0
  509. package/locale/en-TK/package.json +5 -5
  510. package/locale/en-TO/index.cjs +7 -0
  511. package/locale/en-TO/index.js +6 -0
  512. package/locale/en-TO/package.json +5 -5
  513. package/locale/en-TT/index.cjs +7 -0
  514. package/locale/en-TT/index.js +6 -0
  515. package/locale/en-TT/package.json +5 -5
  516. package/locale/en-TV/index.cjs +7 -0
  517. package/locale/en-TV/index.js +6 -0
  518. package/locale/en-TV/package.json +5 -5
  519. package/locale/en-TZ/index.cjs +7 -0
  520. package/locale/en-TZ/index.js +6 -0
  521. package/locale/en-TZ/package.json +5 -5
  522. package/locale/en-UA/index.cjs +7 -0
  523. package/locale/en-UA/index.js +6 -0
  524. package/locale/en-UA/package.json +16 -0
  525. package/locale/en-UA.json +219 -0
  526. package/locale/en-UA.json.d.ts +4 -0
  527. package/locale/en-UA.json.js +219 -0
  528. package/locale/en-UG/index.cjs +7 -0
  529. package/locale/en-UG/index.js +6 -0
  530. package/locale/en-UG/package.json +5 -5
  531. package/locale/en-VC/index.cjs +7 -0
  532. package/locale/en-VC/index.js +6 -0
  533. package/locale/en-VC/package.json +5 -5
  534. package/locale/en-VG/index.cjs +7 -0
  535. package/locale/en-VG/index.js +6 -0
  536. package/locale/en-VG/package.json +5 -5
  537. package/locale/en-VU/index.cjs +7 -0
  538. package/locale/en-VU/index.js +6 -0
  539. package/locale/en-VU/package.json +5 -5
  540. package/locale/en-WS/index.cjs +7 -0
  541. package/locale/en-WS/index.js +6 -0
  542. package/locale/en-WS/package.json +5 -5
  543. package/locale/en-ZA/index.cjs +7 -0
  544. package/locale/en-ZA/index.js +6 -0
  545. package/locale/en-ZA/package.json +5 -5
  546. package/locale/en-ZM/index.cjs +7 -0
  547. package/locale/en-ZM/index.js +6 -0
  548. package/locale/en-ZM/package.json +5 -5
  549. package/locale/en-ZW/index.cjs +7 -0
  550. package/locale/en-ZW/index.js +6 -0
  551. package/locale/en-ZW/package.json +5 -5
  552. package/locale/eo/index.cjs +7 -0
  553. package/locale/eo/index.js +6 -0
  554. package/locale/eo/package.json +5 -5
  555. package/locale/es/index.cjs +7 -0
  556. package/locale/es/index.js +6 -0
  557. package/locale/es/package.json +5 -5
  558. package/locale/es-419/index.cjs +7 -0
  559. package/locale/es-419/index.js +6 -0
  560. package/locale/es-419/package.json +5 -5
  561. package/locale/es-AR/index.cjs +7 -0
  562. package/locale/es-AR/index.js +6 -0
  563. package/locale/es-AR/package.json +5 -5
  564. package/locale/es-BO/index.cjs +7 -0
  565. package/locale/es-BO/index.js +6 -0
  566. package/locale/es-BO/package.json +5 -5
  567. package/locale/es-BR/index.cjs +7 -0
  568. package/locale/es-BR/index.js +6 -0
  569. package/locale/es-BR/package.json +5 -5
  570. package/locale/es-BZ/index.cjs +7 -0
  571. package/locale/es-BZ/index.js +6 -0
  572. package/locale/es-BZ/package.json +5 -5
  573. package/locale/es-CL/index.cjs +7 -0
  574. package/locale/es-CL/index.js +6 -0
  575. package/locale/es-CL/package.json +5 -5
  576. package/locale/es-CO/index.cjs +7 -0
  577. package/locale/es-CO/index.js +6 -0
  578. package/locale/es-CO/package.json +5 -5
  579. package/locale/es-CR/index.cjs +7 -0
  580. package/locale/es-CR/index.js +6 -0
  581. package/locale/es-CR/package.json +5 -5
  582. package/locale/es-CU/index.cjs +7 -0
  583. package/locale/es-CU/index.js +6 -0
  584. package/locale/es-CU/package.json +5 -5
  585. package/locale/es-DO/index.cjs +7 -0
  586. package/locale/es-DO/index.js +6 -0
  587. package/locale/es-DO/package.json +5 -5
  588. package/locale/es-EC/index.cjs +7 -0
  589. package/locale/es-EC/index.js +6 -0
  590. package/locale/es-EC/package.json +5 -5
  591. package/locale/es-GT/index.cjs +7 -0
  592. package/locale/es-GT/index.js +6 -0
  593. package/locale/es-GT/package.json +5 -5
  594. package/locale/es-HN/index.cjs +7 -0
  595. package/locale/es-HN/index.js +6 -0
  596. package/locale/es-HN/package.json +5 -5
  597. package/locale/es-MX/index.cjs +7 -0
  598. package/locale/es-MX/index.js +6 -0
  599. package/locale/es-MX/package.json +5 -5
  600. package/locale/es-MX.json +2 -8
  601. package/locale/es-MX.json.js +2 -8
  602. package/locale/es-NI/index.cjs +7 -0
  603. package/locale/es-NI/index.js +6 -0
  604. package/locale/es-NI/package.json +5 -5
  605. package/locale/es-PA/index.cjs +7 -0
  606. package/locale/es-PA/index.js +6 -0
  607. package/locale/es-PA/package.json +5 -5
  608. package/locale/es-PE/index.cjs +7 -0
  609. package/locale/es-PE/index.js +6 -0
  610. package/locale/es-PE/package.json +5 -5
  611. package/locale/es-PR/index.cjs +7 -0
  612. package/locale/es-PR/index.js +6 -0
  613. package/locale/es-PR/package.json +5 -5
  614. package/locale/es-PY/index.cjs +7 -0
  615. package/locale/es-PY/index.js +6 -0
  616. package/locale/es-PY/package.json +5 -5
  617. package/locale/es-SV/index.cjs +7 -0
  618. package/locale/es-SV/index.js +6 -0
  619. package/locale/es-SV/package.json +5 -5
  620. package/locale/es-US/index.cjs +7 -0
  621. package/locale/es-US/index.js +6 -0
  622. package/locale/es-US/package.json +5 -5
  623. package/locale/es-UY/index.cjs +7 -0
  624. package/locale/es-UY/index.js +6 -0
  625. package/locale/es-UY/package.json +5 -5
  626. package/locale/es-VE/index.cjs +7 -0
  627. package/locale/es-VE/index.js +6 -0
  628. package/locale/es-VE/package.json +5 -5
  629. package/locale/et/index.cjs +7 -0
  630. package/locale/et/index.js +6 -0
  631. package/locale/et/package.json +5 -5
  632. package/locale/eu/index.cjs +7 -0
  633. package/locale/eu/index.js +6 -0
  634. package/locale/eu/package.json +5 -5
  635. package/locale/fa/index.cjs +7 -0
  636. package/locale/fa/index.js +6 -0
  637. package/locale/fa/package.json +5 -5
  638. package/locale/ff-Adlm/index.cjs +7 -0
  639. package/locale/ff-Adlm/index.js +6 -0
  640. package/locale/ff-Adlm/package.json +5 -5
  641. package/locale/fi/index.cjs +7 -0
  642. package/locale/fi/index.js +6 -0
  643. package/locale/fi/package.json +5 -5
  644. package/locale/fil/index.cjs +7 -0
  645. package/locale/fil/index.js +6 -0
  646. package/locale/fil/package.json +5 -5
  647. package/locale/fo/index.cjs +7 -0
  648. package/locale/fo/index.js +6 -0
  649. package/locale/fo/package.json +5 -5
  650. package/locale/fr/index.cjs +7 -0
  651. package/locale/fr/index.js +6 -0
  652. package/locale/fr/package.json +5 -5
  653. package/locale/fr-CA/index.cjs +7 -0
  654. package/locale/fr-CA/index.js +6 -0
  655. package/locale/fr-CA/package.json +5 -5
  656. package/locale/fr-CA.json +4 -4
  657. package/locale/fr-CA.json.js +4 -4
  658. package/locale/fr.json +4 -4
  659. package/locale/fr.json.js +4 -4
  660. package/locale/fur/index.cjs +7 -0
  661. package/locale/fur/index.js +6 -0
  662. package/locale/fur/package.json +5 -5
  663. package/locale/fy/index.cjs +7 -0
  664. package/locale/fy/index.js +6 -0
  665. package/locale/fy/package.json +5 -5
  666. package/locale/ga/index.cjs +7 -0
  667. package/locale/ga/index.js +6 -0
  668. package/locale/ga/package.json +5 -5
  669. package/locale/gd/index.cjs +7 -0
  670. package/locale/gd/index.js +6 -0
  671. package/locale/gd/package.json +5 -5
  672. package/locale/gl/index.cjs +7 -0
  673. package/locale/gl/index.js +6 -0
  674. package/locale/gl/package.json +5 -5
  675. package/locale/gu/index.cjs +7 -0
  676. package/locale/gu/index.js +6 -0
  677. package/locale/gu/package.json +5 -5
  678. package/locale/ha/index.cjs +7 -0
  679. package/locale/ha/index.js +6 -0
  680. package/locale/ha/package.json +5 -5
  681. package/locale/he/index.cjs +7 -0
  682. package/locale/he/index.js +6 -0
  683. package/locale/he/package.json +5 -5
  684. package/locale/he.json +74 -86
  685. package/locale/he.json.js +74 -86
  686. package/locale/hi/index.cjs +7 -0
  687. package/locale/hi/index.js +6 -0
  688. package/locale/hi/package.json +5 -5
  689. package/locale/hi-Latn/index.cjs +7 -0
  690. package/locale/hi-Latn/index.js +6 -0
  691. package/locale/hi-Latn/package.json +5 -5
  692. package/locale/hr/index.cjs +7 -0
  693. package/locale/hr/index.js +6 -0
  694. package/locale/hr/package.json +5 -5
  695. package/locale/hsb/index.cjs +7 -0
  696. package/locale/hsb/index.js +6 -0
  697. package/locale/hsb/package.json +5 -5
  698. package/locale/ht/index.cjs +7 -0
  699. package/locale/ht/index.js +6 -0
  700. package/locale/ht/package.json +5 -5
  701. package/locale/ht.json +4 -4
  702. package/locale/ht.json.js +4 -4
  703. package/locale/hu/index.cjs +7 -0
  704. package/locale/hu/index.js +6 -0
  705. package/locale/hu/package.json +5 -5
  706. package/locale/hy/index.cjs +7 -0
  707. package/locale/hy/index.js +6 -0
  708. package/locale/hy/package.json +5 -5
  709. package/locale/ia/index.cjs +7 -0
  710. package/locale/ia/index.js +6 -0
  711. package/locale/ia/package.json +5 -5
  712. package/locale/id/index.cjs +7 -0
  713. package/locale/id/index.js +6 -0
  714. package/locale/id/package.json +5 -5
  715. package/locale/ie/index.cjs +7 -0
  716. package/locale/ie/index.js +6 -0
  717. package/locale/ie/package.json +5 -5
  718. package/locale/ie.json +15 -9
  719. package/locale/ie.json.js +15 -9
  720. package/locale/ig/index.cjs +7 -0
  721. package/locale/ig/index.js +6 -0
  722. package/locale/ig/package.json +5 -5
  723. package/locale/ii/index.cjs +7 -0
  724. package/locale/ii/index.js +6 -0
  725. package/locale/ii/package.json +5 -5
  726. package/locale/is/index.cjs +7 -0
  727. package/locale/is/index.js +6 -0
  728. package/locale/is/package.json +5 -5
  729. package/locale/it/index.cjs +7 -0
  730. package/locale/it/index.js +6 -0
  731. package/locale/it/package.json +5 -5
  732. package/locale/ja/index.cjs +7 -0
  733. package/locale/ja/index.js +6 -0
  734. package/locale/ja/package.json +5 -5
  735. package/locale/jgo/index.cjs +7 -0
  736. package/locale/jgo/index.js +6 -0
  737. package/locale/jgo/package.json +5 -5
  738. package/locale/jv/index.cjs +7 -0
  739. package/locale/jv/index.js +6 -0
  740. package/locale/jv/package.json +5 -5
  741. package/locale/ka/index.cjs +7 -0
  742. package/locale/ka/index.js +6 -0
  743. package/locale/ka/package.json +5 -5
  744. package/locale/kaa/index.cjs +7 -0
  745. package/locale/kaa/index.js +6 -0
  746. package/locale/kaa/package.json +5 -5
  747. package/locale/kea/index.cjs +7 -0
  748. package/locale/kea/index.js +6 -0
  749. package/locale/kea/package.json +5 -5
  750. package/locale/kgp/index.cjs +7 -0
  751. package/locale/kgp/index.js +6 -0
  752. package/locale/kgp/package.json +5 -5
  753. package/locale/kk/index.cjs +7 -0
  754. package/locale/kk/index.js +6 -0
  755. package/locale/kk/package.json +5 -5
  756. package/locale/kk-Arab/index.cjs +7 -0
  757. package/locale/kk-Arab/index.js +6 -0
  758. package/locale/kk-Arab/package.json +16 -0
  759. package/locale/kk-Arab.json +159 -0
  760. package/locale/kk-Arab.json.d.ts +4 -0
  761. package/locale/kk-Arab.json.js +159 -0
  762. package/locale/kl/index.cjs +7 -0
  763. package/locale/kl/index.js +6 -0
  764. package/locale/kl/package.json +5 -5
  765. package/locale/km/index.cjs +7 -0
  766. package/locale/km/index.js +6 -0
  767. package/locale/km/package.json +5 -5
  768. package/locale/kn/index.cjs +7 -0
  769. package/locale/kn/index.js +6 -0
  770. package/locale/kn/package.json +5 -5
  771. package/locale/ko/index.cjs +7 -0
  772. package/locale/ko/index.js +6 -0
  773. package/locale/ko/package.json +5 -5
  774. package/locale/kok/index.cjs +7 -0
  775. package/locale/kok/index.js +6 -0
  776. package/locale/kok/package.json +5 -5
  777. package/locale/kok-Latn/index.cjs +7 -0
  778. package/locale/kok-Latn/index.js +6 -0
  779. package/locale/kok-Latn/package.json +5 -5
  780. package/locale/kok-Latn.json +138 -39
  781. package/locale/kok-Latn.json.js +138 -39
  782. package/locale/kok.json +169 -64
  783. package/locale/kok.json.js +169 -64
  784. package/locale/ks/index.cjs +7 -0
  785. package/locale/ks/index.js +6 -0
  786. package/locale/ks/package.json +5 -5
  787. package/locale/ksh/index.cjs +7 -0
  788. package/locale/ksh/index.js +6 -0
  789. package/locale/ksh/package.json +5 -5
  790. package/locale/ku/index.cjs +7 -0
  791. package/locale/ku/index.js +6 -0
  792. package/locale/ku/package.json +5 -5
  793. package/locale/ku.json +166 -73
  794. package/locale/ku.json.js +166 -73
  795. package/locale/ky/index.cjs +7 -0
  796. package/locale/ky/index.js +6 -0
  797. package/locale/ky/package.json +5 -5
  798. package/locale/lb/index.cjs +7 -0
  799. package/locale/lb/index.js +6 -0
  800. package/locale/lb/package.json +5 -5
  801. package/locale/lkt/index.cjs +7 -0
  802. package/locale/lkt/index.js +6 -0
  803. package/locale/lkt/package.json +5 -5
  804. package/locale/lld/index.cjs +7 -0
  805. package/locale/lld/index.js +6 -0
  806. package/locale/lld/package.json +5 -5
  807. package/locale/lo/index.cjs +7 -0
  808. package/locale/lo/index.js +6 -0
  809. package/locale/lo/package.json +5 -5
  810. package/locale/lt/index.cjs +7 -0
  811. package/locale/lt/index.js +6 -0
  812. package/locale/lt/package.json +5 -5
  813. package/locale/lv/index.cjs +7 -0
  814. package/locale/lv/index.js +6 -0
  815. package/locale/lv/package.json +5 -5
  816. package/locale/mai/index.cjs +7 -0
  817. package/locale/mai/index.js +6 -0
  818. package/locale/mai/package.json +5 -5
  819. package/locale/mi/index.cjs +7 -0
  820. package/locale/mi/index.js +6 -0
  821. package/locale/mi/package.json +5 -5
  822. package/locale/mk/index.cjs +7 -0
  823. package/locale/mk/index.js +6 -0
  824. package/locale/mk/package.json +5 -5
  825. package/locale/mk.json +20 -20
  826. package/locale/mk.json.js +20 -20
  827. package/locale/ml/index.cjs +7 -0
  828. package/locale/ml/index.js +6 -0
  829. package/locale/ml/package.json +5 -5
  830. package/locale/mn/index.cjs +7 -0
  831. package/locale/mn/index.js +6 -0
  832. package/locale/mn/package.json +5 -5
  833. package/locale/mni/index.cjs +7 -0
  834. package/locale/mni/index.js +6 -0
  835. package/locale/mni/package.json +5 -5
  836. package/locale/mr/index.cjs +7 -0
  837. package/locale/mr/index.js +6 -0
  838. package/locale/mr/package.json +5 -5
  839. package/locale/ms/index.cjs +7 -0
  840. package/locale/ms/index.js +6 -0
  841. package/locale/ms/package.json +5 -5
  842. package/locale/ms-Arab/index.cjs +7 -0
  843. package/locale/ms-Arab/index.js +6 -0
  844. package/locale/ms-Arab/package.json +5 -5
  845. package/locale/mt/index.cjs +7 -0
  846. package/locale/mt/index.js +6 -0
  847. package/locale/mt/package.json +5 -5
  848. package/locale/my/index.cjs +7 -0
  849. package/locale/my/index.js +6 -0
  850. package/locale/my/package.json +5 -5
  851. package/locale/mzn/index.cjs +7 -0
  852. package/locale/mzn/index.js +6 -0
  853. package/locale/mzn/package.json +5 -5
  854. package/locale/nb/index.cjs +7 -0
  855. package/locale/nb/index.js +6 -0
  856. package/locale/nb/package.json +5 -5
  857. package/locale/ne/index.cjs +7 -0
  858. package/locale/ne/index.js +6 -0
  859. package/locale/ne/package.json +5 -5
  860. package/locale/nl/index.cjs +7 -0
  861. package/locale/nl/index.js +6 -0
  862. package/locale/nl/package.json +5 -5
  863. package/locale/nn/index.cjs +7 -0
  864. package/locale/nn/index.js +6 -0
  865. package/locale/nn/package.json +5 -5
  866. package/locale/no/index.cjs +7 -0
  867. package/locale/no/index.js +6 -0
  868. package/locale/no/package.json +5 -5
  869. package/locale/nqo/index.cjs +7 -0
  870. package/locale/nqo/index.js +6 -0
  871. package/locale/nqo/package.json +5 -5
  872. package/locale/nso/index.cjs +7 -0
  873. package/locale/nso/index.js +6 -0
  874. package/locale/nso/package.json +16 -0
  875. package/locale/nso.json +159 -0
  876. package/locale/nso.json.d.ts +4 -0
  877. package/locale/nso.json.js +159 -0
  878. package/locale/om/index.cjs +7 -0
  879. package/locale/om/index.js +6 -0
  880. package/locale/om/package.json +5 -5
  881. package/locale/or/index.cjs +7 -0
  882. package/locale/or/index.js +6 -0
  883. package/locale/or/package.json +5 -5
  884. package/locale/pa/index.cjs +7 -0
  885. package/locale/pa/index.js +6 -0
  886. package/locale/pa/package.json +5 -5
  887. package/locale/pcm/index.cjs +7 -0
  888. package/locale/pcm/index.js +6 -0
  889. package/locale/pcm/package.json +5 -5
  890. package/locale/pl/index.cjs +7 -0
  891. package/locale/pl/index.js +6 -0
  892. package/locale/pl/package.json +5 -5
  893. package/locale/ps/index.cjs +7 -0
  894. package/locale/ps/index.js +6 -0
  895. package/locale/ps/package.json +5 -5
  896. package/locale/ps-PK/index.cjs +7 -0
  897. package/locale/ps-PK/index.js +6 -0
  898. package/locale/ps-PK/package.json +5 -5
  899. package/locale/pt/index.cjs +7 -0
  900. package/locale/pt/index.js +6 -0
  901. package/locale/pt/package.json +5 -5
  902. package/locale/pt-AO/index.cjs +7 -0
  903. package/locale/pt-AO/index.js +6 -0
  904. package/locale/pt-AO/package.json +5 -5
  905. package/locale/pt-CH/index.cjs +7 -0
  906. package/locale/pt-CH/index.js +6 -0
  907. package/locale/pt-CH/package.json +5 -5
  908. package/locale/pt-CV/index.cjs +7 -0
  909. package/locale/pt-CV/index.js +6 -0
  910. package/locale/pt-CV/package.json +5 -5
  911. package/locale/pt-GQ/index.cjs +7 -0
  912. package/locale/pt-GQ/index.js +6 -0
  913. package/locale/pt-GQ/package.json +5 -5
  914. package/locale/pt-GW/index.cjs +7 -0
  915. package/locale/pt-GW/index.js +6 -0
  916. package/locale/pt-GW/package.json +5 -5
  917. package/locale/pt-LU/index.cjs +7 -0
  918. package/locale/pt-LU/index.js +6 -0
  919. package/locale/pt-LU/package.json +5 -5
  920. package/locale/pt-MO/index.cjs +7 -0
  921. package/locale/pt-MO/index.js +6 -0
  922. package/locale/pt-MO/package.json +5 -5
  923. package/locale/pt-MZ/index.cjs +7 -0
  924. package/locale/pt-MZ/index.js +6 -0
  925. package/locale/pt-MZ/package.json +5 -5
  926. package/locale/pt-PT/index.cjs +7 -0
  927. package/locale/pt-PT/index.js +6 -0
  928. package/locale/pt-PT/package.json +5 -5
  929. package/locale/pt-ST/index.cjs +7 -0
  930. package/locale/pt-ST/index.js +6 -0
  931. package/locale/pt-ST/package.json +5 -5
  932. package/locale/pt-TL/index.cjs +7 -0
  933. package/locale/pt-TL/index.js +6 -0
  934. package/locale/pt-TL/package.json +5 -5
  935. package/locale/qu/index.cjs +7 -0
  936. package/locale/qu/index.js +6 -0
  937. package/locale/qu/package.json +5 -5
  938. package/locale/raj/index.cjs +7 -0
  939. package/locale/raj/index.js +6 -0
  940. package/locale/raj/package.json +5 -5
  941. package/locale/rhg/index.cjs +7 -0
  942. package/locale/rhg/index.js +6 -0
  943. package/locale/rhg/package.json +5 -5
  944. package/locale/rm/index.cjs +7 -0
  945. package/locale/rm/index.js +6 -0
  946. package/locale/rm/package.json +5 -5
  947. package/locale/rm.json +151 -85
  948. package/locale/rm.json.js +151 -85
  949. package/locale/ro/index.cjs +7 -0
  950. package/locale/ro/index.js +6 -0
  951. package/locale/ro/package.json +5 -5
  952. package/locale/ro.json +4 -2
  953. package/locale/ro.json.js +4 -2
  954. package/locale/ru/index.cjs +7 -0
  955. package/locale/ru/index.js +6 -0
  956. package/locale/ru/package.json +5 -5
  957. package/locale/rw/index.cjs +7 -0
  958. package/locale/rw/index.js +6 -0
  959. package/locale/rw/package.json +16 -0
  960. package/locale/rw.json +159 -0
  961. package/locale/rw.json.d.ts +4 -0
  962. package/locale/rw.json.js +159 -0
  963. package/locale/sah/index.cjs +7 -0
  964. package/locale/sah/index.js +6 -0
  965. package/locale/sah/package.json +5 -5
  966. package/locale/sc/index.cjs +7 -0
  967. package/locale/sc/index.js +6 -0
  968. package/locale/sc/package.json +5 -5
  969. package/locale/scn/index.cjs +7 -0
  970. package/locale/scn/index.js +6 -0
  971. package/locale/scn/package.json +16 -0
  972. package/locale/scn.json +249 -0
  973. package/locale/scn.json.d.ts +4 -0
  974. package/locale/scn.json.js +249 -0
  975. package/locale/sd/index.cjs +7 -0
  976. package/locale/sd/index.js +6 -0
  977. package/locale/sd/package.json +5 -5
  978. package/locale/sd-Deva/index.cjs +7 -0
  979. package/locale/sd-Deva/index.js +6 -0
  980. package/locale/sd-Deva/package.json +16 -0
  981. package/locale/sd-Deva.json +159 -0
  982. package/locale/sd-Deva.json.d.ts +4 -0
  983. package/locale/sd-Deva.json.js +159 -0
  984. package/locale/sd.json +77 -20
  985. package/locale/sd.json.js +77 -20
  986. package/locale/se/index.cjs +7 -0
  987. package/locale/se/index.js +6 -0
  988. package/locale/se/package.json +5 -5
  989. package/locale/se-FI/index.cjs +7 -0
  990. package/locale/se-FI/index.js +6 -0
  991. package/locale/se-FI/package.json +5 -5
  992. package/locale/shn/index.cjs +7 -0
  993. package/locale/shn/index.js +6 -0
  994. package/locale/shn/package.json +16 -0
  995. package/locale/shn.json +159 -0
  996. package/locale/shn.json.d.ts +4 -0
  997. package/locale/shn.json.js +159 -0
  998. package/locale/si/index.cjs +7 -0
  999. package/locale/si/index.js +6 -0
  1000. package/locale/si/package.json +5 -5
  1001. package/locale/sk/index.cjs +7 -0
  1002. package/locale/sk/index.js +6 -0
  1003. package/locale/sk/package.json +5 -5
  1004. package/locale/sl/index.cjs +7 -0
  1005. package/locale/sl/index.js +6 -0
  1006. package/locale/sl/package.json +5 -5
  1007. package/locale/so/index.cjs +7 -0
  1008. package/locale/so/index.js +6 -0
  1009. package/locale/so/package.json +5 -5
  1010. package/locale/sq/index.cjs +7 -0
  1011. package/locale/sq/index.js +6 -0
  1012. package/locale/sq/package.json +5 -5
  1013. package/locale/sr/index.cjs +7 -0
  1014. package/locale/sr/index.js +6 -0
  1015. package/locale/sr/package.json +5 -5
  1016. package/locale/sr-Cyrl-BA/index.cjs +7 -0
  1017. package/locale/sr-Cyrl-BA/index.js +6 -0
  1018. package/locale/sr-Cyrl-BA/package.json +5 -5
  1019. package/locale/sr-Latn/index.cjs +7 -0
  1020. package/locale/sr-Latn/index.js +6 -0
  1021. package/locale/sr-Latn/package.json +5 -5
  1022. package/locale/sr-Latn-BA/index.cjs +7 -0
  1023. package/locale/sr-Latn-BA/index.js +6 -0
  1024. package/locale/sr-Latn-BA/package.json +5 -5
  1025. package/locale/su/index.cjs +7 -0
  1026. package/locale/su/index.js +6 -0
  1027. package/locale/su/package.json +5 -5
  1028. package/locale/sv/index.cjs +7 -0
  1029. package/locale/sv/index.js +6 -0
  1030. package/locale/sv/package.json +5 -5
  1031. package/locale/sv.json +3 -3
  1032. package/locale/sv.json.js +3 -3
  1033. package/locale/sw/index.cjs +7 -0
  1034. package/locale/sw/index.js +6 -0
  1035. package/locale/sw/package.json +5 -5
  1036. package/locale/syr/index.cjs +7 -0
  1037. package/locale/syr/index.js +6 -0
  1038. package/locale/syr/package.json +5 -5
  1039. package/locale/syr.json +27 -27
  1040. package/locale/syr.json.js +27 -27
  1041. package/locale/ta/index.cjs +7 -0
  1042. package/locale/ta/index.js +6 -0
  1043. package/locale/ta/package.json +5 -5
  1044. package/locale/ta.json +15 -9
  1045. package/locale/ta.json.js +15 -9
  1046. package/locale/te/index.cjs +7 -0
  1047. package/locale/te/index.js +6 -0
  1048. package/locale/te/package.json +5 -5
  1049. package/locale/tg/index.cjs +7 -0
  1050. package/locale/tg/index.js +6 -0
  1051. package/locale/tg/package.json +5 -5
  1052. package/locale/th/index.cjs +7 -0
  1053. package/locale/th/index.js +6 -0
  1054. package/locale/th/package.json +5 -5
  1055. package/locale/ti/index.cjs +7 -0
  1056. package/locale/ti/index.js +6 -0
  1057. package/locale/ti/package.json +5 -5
  1058. package/locale/tk/index.cjs +7 -0
  1059. package/locale/tk/index.js +6 -0
  1060. package/locale/tk/package.json +5 -5
  1061. package/locale/tn/index.cjs +7 -0
  1062. package/locale/tn/index.js +6 -0
  1063. package/locale/tn/package.json +5 -5
  1064. package/locale/tn.json +27 -27
  1065. package/locale/tn.json.js +27 -27
  1066. package/locale/to/index.cjs +7 -0
  1067. package/locale/to/index.js +6 -0
  1068. package/locale/to/package.json +5 -5
  1069. package/locale/tok/index.cjs +7 -0
  1070. package/locale/tok/index.js +6 -0
  1071. package/locale/tok/package.json +16 -0
  1072. package/locale/tok.json +159 -0
  1073. package/locale/tok.json.d.ts +4 -0
  1074. package/locale/tok.json.js +159 -0
  1075. package/locale/tr/index.cjs +7 -0
  1076. package/locale/tr/index.js +6 -0
  1077. package/locale/tr/package.json +5 -5
  1078. package/locale/tt/index.cjs +7 -0
  1079. package/locale/tt/index.js +6 -0
  1080. package/locale/tt/package.json +5 -5
  1081. package/locale/tyv/index.cjs +7 -0
  1082. package/locale/tyv/index.js +6 -0
  1083. package/locale/tyv/package.json +16 -0
  1084. package/locale/tyv.json +159 -0
  1085. package/locale/tyv.json.d.ts +4 -0
  1086. package/locale/tyv.json.js +159 -0
  1087. package/locale/ug/index.cjs +7 -0
  1088. package/locale/ug/index.js +6 -0
  1089. package/locale/ug/package.json +5 -5
  1090. package/locale/uk/index.cjs +7 -0
  1091. package/locale/uk/index.js +6 -0
  1092. package/locale/uk/package.json +5 -5
  1093. package/locale/ur/index.cjs +7 -0
  1094. package/locale/ur/index.js +6 -0
  1095. package/locale/ur/package.json +5 -5
  1096. package/locale/ur-IN/index.cjs +7 -0
  1097. package/locale/ur-IN/index.js +6 -0
  1098. package/locale/ur-IN/package.json +5 -5
  1099. package/locale/uz/index.cjs +7 -0
  1100. package/locale/uz/index.js +6 -0
  1101. package/locale/uz/package.json +5 -5
  1102. package/locale/uz-Cyrl/index.cjs +7 -0
  1103. package/locale/uz-Cyrl/index.js +6 -0
  1104. package/locale/uz-Cyrl/package.json +5 -5
  1105. package/locale/vec/index.cjs +7 -0
  1106. package/locale/vec/index.js +6 -0
  1107. package/locale/vec/package.json +5 -5
  1108. package/locale/vi/index.cjs +7 -0
  1109. package/locale/vi/index.js +6 -0
  1110. package/locale/vi/package.json +5 -5
  1111. package/locale/wae/index.cjs +7 -0
  1112. package/locale/wae/index.js +6 -0
  1113. package/locale/wae/package.json +5 -5
  1114. package/locale/wo/index.cjs +7 -0
  1115. package/locale/wo/index.js +6 -0
  1116. package/locale/wo/package.json +5 -5
  1117. package/locale/xh/index.cjs +7 -0
  1118. package/locale/xh/index.js +6 -0
  1119. package/locale/xh/package.json +5 -5
  1120. package/locale/xh.json +18 -18
  1121. package/locale/xh.json.js +18 -18
  1122. package/locale/xnr/index.cjs +7 -0
  1123. package/locale/xnr/index.js +6 -0
  1124. package/locale/xnr/package.json +5 -5
  1125. package/locale/yi/index.cjs +7 -0
  1126. package/locale/yi/index.js +6 -0
  1127. package/locale/yi/package.json +5 -5
  1128. package/locale/yo/index.cjs +7 -0
  1129. package/locale/yo/index.js +6 -0
  1130. package/locale/yo/package.json +5 -5
  1131. package/locale/yo-BJ/index.cjs +7 -0
  1132. package/locale/yo-BJ/index.js +6 -0
  1133. package/locale/yo-BJ/package.json +5 -5
  1134. package/locale/yrl/index.cjs +7 -0
  1135. package/locale/yrl/index.js +6 -0
  1136. package/locale/yrl/package.json +5 -5
  1137. package/locale/yue/index.cjs +7 -0
  1138. package/locale/yue/index.js +6 -0
  1139. package/locale/yue/package.json +5 -5
  1140. package/locale/yue-Hans/index.cjs +7 -0
  1141. package/locale/yue-Hans/index.js +6 -0
  1142. package/locale/yue-Hans/package.json +5 -5
  1143. package/locale/zh/index.cjs +7 -0
  1144. package/locale/zh/index.js +6 -0
  1145. package/locale/zh/package.json +5 -5
  1146. package/locale/zh-Hans-HK/index.cjs +7 -0
  1147. package/locale/zh-Hans-HK/index.js +6 -0
  1148. package/locale/zh-Hans-HK/package.json +5 -5
  1149. package/locale/zh-Hans-MO/index.cjs +7 -0
  1150. package/locale/zh-Hans-MO/index.js +6 -0
  1151. package/locale/zh-Hans-MO/package.json +5 -5
  1152. package/locale/zh-Hans-SG/index.cjs +7 -0
  1153. package/locale/zh-Hans-SG/index.js +6 -0
  1154. package/locale/zh-Hans-SG/package.json +5 -5
  1155. package/locale/zh-Hant/index.cjs +7 -0
  1156. package/locale/zh-Hant/index.js +6 -0
  1157. package/locale/zh-Hant/package.json +5 -5
  1158. package/locale/zh-Hant-HK/index.cjs +7 -0
  1159. package/locale/zh-Hant-HK/index.js +6 -0
  1160. package/locale/zh-Hant-HK/package.json +5 -5
  1161. package/locale/zh-Hant-MO/index.cjs +7 -0
  1162. package/locale/zh-Hant-MO/index.js +6 -0
  1163. package/locale/zh-Hant-MO/package.json +5 -5
  1164. package/locale/zu/index.cjs +7 -0
  1165. package/locale/zu/index.js +6 -0
  1166. package/locale/zu/package.json +5 -5
  1167. package/modules/FullDateFormatter.test.js +2 -0
  1168. package/modules/FullDateFormatter.test.js.map +1 -1
  1169. package/modules/TimeAgo.js +1 -0
  1170. package/modules/TimeAgo.js.map +1 -1
  1171. package/modules/TimeAgo.test.js +202 -189
  1172. package/modules/TimeAgo.test.js.map +1 -1
  1173. package/modules/cache.test.js +2 -0
  1174. package/modules/cache.test.js.map +1 -1
  1175. package/modules/isStyleObject.test.js +19 -17
  1176. package/modules/isStyleObject.test.js.map +1 -1
  1177. package/modules/locale.test.js +12 -10
  1178. package/modules/locale.test.js.map +1 -1
  1179. package/modules/steps/approximate.test.js +2 -0
  1180. package/modules/steps/approximate.test.js.map +1 -1
  1181. package/modules/steps/getStep.test.js +7 -5
  1182. package/modules/steps/getStep.test.js.map +1 -1
  1183. package/modules/steps/getStepDenominator.test.js +6 -4
  1184. package/modules/steps/getStepDenominator.test.js.map +1 -1
  1185. package/modules/steps/getStepMinTime.test.js +6 -4
  1186. package/modules/steps/getStepMinTime.test.js.map +1 -1
  1187. package/modules/steps/getTimeToNextUpdate.test.js +36 -34
  1188. package/modules/steps/getTimeToNextUpdate.test.js.map +1 -1
  1189. package/modules/steps/getTimeToNextUpdateForUnit.test.js +12 -10
  1190. package/modules/steps/getTimeToNextUpdateForUnit.test.js.map +1 -1
  1191. package/modules/steps/helpers.test.js +4 -2
  1192. package/modules/steps/helpers.test.js.map +1 -1
  1193. package/modules/steps/renameLegacyProperties.test.js +8 -6
  1194. package/modules/steps/renameLegacyProperties.test.js.map +1 -1
  1195. package/modules/steps/round.test.js +2 -0
  1196. package/modules/steps/round.test.js.map +1 -1
  1197. package/modules/style/approximateTime.test.js +3 -2
  1198. package/modules/style/approximateTime.test.js.map +1 -1
  1199. package/modules/style/mini.test.js +58 -56
  1200. package/modules/style/mini.test.js.map +1 -1
  1201. package/modules/style/miniMinute.test.js +25 -23
  1202. package/modules/style/miniMinute.test.js.map +1 -1
  1203. package/modules/style/miniMinuteNow.test.js +25 -23
  1204. package/modules/style/miniMinuteNow.test.js.map +1 -1
  1205. package/modules/style/miniNow.test.js +25 -23
  1206. package/modules/style/miniNow.test.js.map +1 -1
  1207. package/modules/style/renameLegacyProperties.test.js +6 -4
  1208. package/modules/style/renameLegacyProperties.test.js.map +1 -1
  1209. package/modules/style/round.test.js +76 -74
  1210. package/modules/style/round.test.js.map +1 -1
  1211. package/modules/style/roundMinute.test.js +47 -45
  1212. package/modules/style/roundMinute.test.js.map +1 -1
  1213. package/modules/style/twitter.test.js +72 -70
  1214. package/modules/style/twitter.test.js.map +1 -1
  1215. package/modules/style/twitterFirstMinute.test.js +29 -27
  1216. package/modules/style/twitterFirstMinute.test.js.map +1 -1
  1217. package/modules/style/twitterMinute.test.js +29 -27
  1218. package/modules/style/twitterMinute.test.js.map +1 -1
  1219. package/modules/style/twitterMinuteNow.test.js +29 -27
  1220. package/modules/style/twitterMinuteNow.test.js.map +1 -1
  1221. package/modules/style/twitterNow.test.js +31 -29
  1222. package/modules/style/twitterNow.test.js.map +1 -1
  1223. package/package.json +1442 -648
  1224. package/scripts/generate-load-all-locales.js +3 -0
  1225. package/scripts/generate-locale-messages.js +70 -48
  1226. package/steps/index.d.ts +13 -0
@@ -1 +1 @@
1
- {"version":3,"file":"TimeAgo.test.js","names":["TimeAgo","getLocaleData","english","type","setDefaultLocale","describe","it","timeAgo","format","Date","now","should","equal","future","labels","steps","formatAs","flavour","gradation","englishNow","addLocale","undefined","NumberFormat","Intl","englishLongTimeMinute","minute","past","mockedDate","getTime","thrower","units","custom","_ref","time","date","locale","_ref2","expect","_ref3","getTimeToNextUpdate","to","style2","style","unit","factor","include","secondLabels","second","refreshedTimes","_timeAgo$format","refresh","text","Error","round","_timeAgo$format2","_slicedToArray","cancelRefresh","be","a","timeToNextUpdate","delay","then","deep","getTimeToNextUpdateUncapped","minTime","_ref4","polyfill","global","getDefaultLocale","addDefaultLocale","delayTime","Promise","resolve","setTimeout"],"sources":["../source/TimeAgo.test.js"],"sourcesContent":["import TimeAgo from './TimeAgo.js'\r\nimport { getLocaleData } from './LocaleDataStore.js'\r\n\r\n// Load locale specific relative date/time messages\r\nimport english from '../locale/en.json' with { type: 'json' }\r\n\r\n// Just so this function code is covered.\r\nTimeAgo.setDefaultLocale('en')\r\n\r\ndescribe(`javascript-time-ago`, () => {\r\n\tit('should default to \"round-minute\" style', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\ttimeAgo.format(Date.now()).should.equal('just now')\r\n\t\ttimeAgo.format(Date.now() + 20 * 1000).should.equal('in a moment')\r\n\t\ttimeAgo.format(Date.now() + 1 * 60 * 1000).should.equal('in 1 minute')\r\n\t\ttimeAgo.format(Date.now() + 4 * 60 * 1000).should.equal('in 4 minutes')\r\n\t})\r\n\r\n\tit('should tell `options` argument from `style` argument', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\ttimeAgo.format(Date.now(), 'mini-now').should.equal('now')\r\n\t\ttimeAgo.format(0, { future: true, now: 0 }).should.equal('in a moment')\r\n\t\ttimeAgo.format(0, { labels: 'mini', steps: [{ formatAs: 'now' }, { formatAs: 'second' }] }, { future: true, now: 0 }).should.equal('now')\r\n\t\ttimeAgo.format(0, { labels: ['mini'], steps: [{ formatAs: 'now' }, { formatAs: 'second' }] }, { future: true, now: 0 }).should.equal('now')\r\n\t\t// `flavour` is a legacy name of `labels` property.\r\n\t\ttimeAgo.format(0, { flavour: 'mini' }, { future: true, now: 0 }).should.equal('now')\r\n\t\ttimeAgo.format(0, { flavour: ['mini'] }, { future: true, now: 0 }).should.equal('now')\r\n\t\ttimeAgo.format(0, { steps: [{ formatAs: 'minute' }] }, { future: true, now: 0 }).should.equal('in 0 minutes')\r\n\t\t// `gradation` is a legacy name of `steps` property.\r\n\t\ttimeAgo.format(0, { gradation: [{ formatAs: 'minute' }] }, { future: true, now: 0 }).should.equal('in 0 minutes')\r\n\t})\r\n\r\n\tit('should try various label types until an appropriate one is found', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\ttimeAgo.format(Date.now(), { labels: ['exotic', 'short'] }).should.equal('just now')\r\n\t})\r\n\r\n\tit('should support the legacy name \"flavour\" of \"labels\"', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\ttimeAgo.format(Date.now(), { labels: ['exotic', 'short'] }).should.equal('just now')\r\n\t})\r\n\r\n\tit('should fallback to \"second.current\" for \"now\" when \"now\" is not defined', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\tconst englishNow = english.now\r\n\t\tdelete english.now\r\n\t\tTimeAgo.addLocale(english)\r\n\t\tenglish.now = undefined\r\n\t\ttimeAgo.format(Date.now(), { labels: 'long' }).should.equal('now')\r\n\t\tenglish.now = englishNow\r\n\t\ttimeAgo.format(Date.now(), { labels: 'long' }).should.equal('just now')\r\n\t})\r\n\r\n\tit('should not use Intl.NumberFormat if it is not available', () => {\r\n\t\tconst NumberFormat = Intl.NumberFormat\r\n\t\tdelete Intl.NumberFormat\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\ttimeAgo.format(Date.now() + 60 * 1000, { labels: 'long-time' }).should.equal('1 minute')\r\n\t\tIntl.NumberFormat = NumberFormat\r\n\t})\r\n\r\n\tit('should work when \"past\"/\"future\" messages are same for all quantifiers', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\ttimeAgo.format(Date.now() + 365 * 24 * 60 * 60 * 1000, { labels: 'short' }).should.equal('in 1 yr.')\r\n\t})\r\n\r\n\tit('should work when \"now\" is a string (does not differentiate between \"past\" and \"future\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\tconst englishNow = english.now\r\n\t\tenglish.now = { now: 'now' }\r\n\t\tTimeAgo.addLocale(english)\r\n\t\ttimeAgo.format(Date.now(), { labels: 'long' }).should.equal('now')\r\n\t\tenglish.now = englishNow\r\n\t\ttimeAgo.format(Date.now(), { labels: 'long' }).should.equal('just now')\r\n\t})\r\n\r\n\tit('should work when a unit has formatting rules for \"past\" and \"future\" which are strings (style: not \"long\", not \"short\", not \"narrow\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\tconst englishLongTimeMinute = english['long-time'].minute\r\n\t\tenglish['long-time'].minute = {\r\n\t\t\tpast: '{0} minute(s) ago',\r\n\t\t\tfuture: 'in {0} minute(s)'\r\n\t\t}\r\n\t\tTimeAgo.addLocale(english)\r\n\t\t// Past.\r\n\t\ttimeAgo.format(Date.now() - 60 * 1000, { labels: 'long-time' }).should.equal('1 minute(s) ago')\r\n\t\t// Future (covers an \"else\" branch).\r\n\t\ttimeAgo.format(Date.now() + 60 * 1000, { labels: 'long-time' }).should.equal('in 1 minute(s)')\r\n\t\t// Undo.\r\n\t\tenglish['long-time'].minute = englishLongTimeMinute\r\n\t\ttimeAgo.format(Date.now() - 60 * 1000, { labels: 'long-time' }).should.equal('1 minute')\r\n\t})\r\n\r\n\tit(`should format \"now\" for \"past\" time`, () =>\r\n\t{\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\ttimeAgo.format(Date.now() + 10, { labels: ['long'] }).should.equal('in a moment')\r\n\t})\r\n\r\n\tit('should accept a string style name argument', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// \"mini\".\r\n\t\ttimeAgo.format(Date.now() - 0 * 1000, 'mini').should.equal('0s')\r\n\t\ttimeAgo.format(Date.now() - 1 * 1000, 'mini').should.equal('1s')\r\n\t\t// \"mini-now\".\r\n\t\ttimeAgo.format(Date.now() - 0 * 1000, 'mini-now').should.equal('now')\r\n\t\ttimeAgo.format(Date.now() - 1 * 1000, 'mini-now').should.equal('1s')\r\n\t\t// \"mini-minute-now\".\r\n\t\ttimeAgo.format(Date.now() - 29 * 1000, 'mini-minute-now').should.equal('now')\r\n\t\ttimeAgo.format(Date.now() - 60 * 1000, 'mini-minute-now').should.equal('1m')\r\n\t\t// \"mini-minute\".\r\n\t\ttimeAgo.format(Date.now() - 29 * 1000, 'mini-minute').should.equal('0m')\r\n\t\ttimeAgo.format(Date.now() - 60 * 1000, 'mini-minute').should.equal('1m')\r\n\t\t// \"twitter\".\r\n\t\ttimeAgo.format(Date.now() - 0 * 1000, 'twitter').should.equal('0s')\r\n\t\ttimeAgo.format(Date.now() - 1 * 1000, 'twitter').should.equal('1s')\r\n\t\t// \"twitter-now\".\r\n\t\ttimeAgo.format(Date.now() - 0 * 1000, 'twitter-now').should.equal('now')\r\n\t\ttimeAgo.format(Date.now() - 1 * 1000, 'twitter-now').should.equal('1s')\r\n\t\t// \"twitter-minute-now\".\r\n\t\ttimeAgo.format(Date.now() - 29 * 1000, 'twitter-minute-now').should.equal('now')\r\n\t\ttimeAgo.format(Date.now() - 60 * 1000, 'twitter-minute-now').should.equal('1m')\r\n\t\t// \"twitter-minute\".\r\n\t\ttimeAgo.format(Date.now() - 29 * 1000, 'twitter-minute').should.equal('0m')\r\n\t\ttimeAgo.format(Date.now() - 60 * 1000, 'twitter-minute').should.equal('1m')\r\n\t\t// \"twitter-first-minute\".\r\n\t\ttimeAgo.format(Date.now() - 29 * 1000, 'twitter-first-minute').should.equal('')\r\n\t\ttimeAgo.format(Date.now() - 60 * 1000, 'twitter-first-minute').should.equal('1m')\r\n\t\t// \"approximate\".\r\n\t\ttimeAgo.format(Date.now() - 45 * 1000, 'approximate').should.equal('just now')\r\n\t\t// \"convenient\" style was renamed to \"approximate\".\r\n\t\ttimeAgo.format(Date.now() - 45 * 1000, 'convenient').should.equal('just now')\r\n\t\ttimeAgo.format(Date.now() - 45 * 1000, 'round').should.equal('45 seconds ago')\r\n\t\t// \"default\" style was renamed to \"round\".\r\n\t\ttimeAgo.format(Date.now() - 45 * 1000, 'default').should.equal('45 seconds ago')\r\n\t\ttimeAgo.format(Date.now() - 29 * 1000, 'round-minute').should.equal('just now')\r\n\t\t// \"time\" style was renamed to \"approximate-time\".\r\n\t\ttimeAgo.format(Date.now() - 2 * 60 * 1000, 'time').should.equal('2 minutes')\r\n\t\ttimeAgo.format(Date.now() - 2 * 60 * 1000, 'approximate-time').should.equal('2 minutes')\r\n\t\ttimeAgo.format(Date.now(), 'exotic').should.equal('just now')\r\n\t})\r\n\r\n\tit('should accept empty constructor parameters', () => {\r\n\t\tconst timeAgo = new TimeAgo()\r\n\t\ttimeAgo.format(new Date()).should.equal('just now')\r\n\t})\r\n\r\n\tit('should accept \"mocked\" Dates when testing', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\tconst mockedDate = { getTime: () => Date.now() }\r\n\t\ttimeAgo.format(mockedDate).should.equal('just now')\r\n\t})\r\n\r\n\tit('should not accept anything but Dates and timestamps', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\tconst thrower = () => timeAgo.format('Jan 14, 2017')\r\n\t\tthrower.should.throw('Unsupported relative time formatter input: string, Jan 14, 2017')\r\n\t})\r\n\r\n\tit('should return an empty string if the specified units are not available in locale data', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\ttimeAgo.format(Date.now(), { units: ['femtosecond'] }).should.equal('')\r\n\t})\r\n\r\n\tit('should format for a style with \"custom\" function', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\r\n\t\ttimeAgo.format(Date.now(), {\r\n\t\t\t// `custom` returns a string\r\n\t\t\tcustom({ now, time, date, locale }) {\r\n\t\t\t\treturn locale\r\n\t\t\t}\r\n\t\t})\r\n\t\t.should.equal('en')\r\n\r\n\t\ttimeAgo.format(Date.now(), {\r\n\t\t\t// `custom` returns `undefined`\r\n\t\t\tcustom({ now, time, date, locale }) {\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t})\r\n\t\t.should.equal('just now')\r\n\t})\r\n\r\n\tit('should throw an error when formating for a style with \"custom\" function and `getTimeToNextUpdate: true` parameter is passed', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\r\n\t\texpect(() => {\r\n\t\t\ttimeAgo.format(Date.now(), {\r\n\t\t\t\t// `custom` returns a string.\r\n\t\t\t\tcustom({ now, time, date, locale }) {\r\n\t\t\t\t\treturn locale\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tgetTimeToNextUpdate: true\r\n\t\t\t})\r\n\t\t}).to.throw('not supported')\r\n\t})\r\n\r\n\tit('should format future dates', () => {\r\n\t\tnew TimeAgo('en').format(Date.now() + 60 * 60 * 1000).should.equal('in 1 hour')\r\n\t\tnew TimeAgo('ru').format(Date.now() + 60 * 1000).should.equal('через 1 минуту')\r\n\t})\r\n\r\n\tit('should accept \"future\" option', () => {\r\n\t\t// \"now\" unit.\r\n\t\tnew TimeAgo('en').format(Date.now()).should.equal('just now')\r\n\t\tnew TimeAgo('en').format(Date.now(), 'approximate', { future: true }).should.equal('in a moment')\r\n\r\n\t\t// Non-\"now\" unit, \"long\" style.\r\n\t\t// const style = {\r\n\t\t// \tgradation: [{\r\n\t\t// \t\tfactor: 1,\r\n\t\t// \t\tunit: 'second'\r\n\t\t// \t}],\r\n\t\t// \tlabels: 'long'\r\n\t\t// }\r\n\t\t// new TimeAgo('en').format(Date.now(), style).should.equal('0 seconds ago')\r\n\t\t// new TimeAgo('en').format(Date.now(), style, { future: true }).should.equal('in 0 seconds')\r\n\r\n\t\t// Non-\"now\" unit, \"mini\" style.\r\n\t\tconst style2 = {\r\n\t\t\tstyle: [{\r\n\t\t\t\tunit: 'year'\r\n\t\t\t}],\r\n\t\t\tlabels: 'mini'\r\n\t\t}\r\n\t\tnew TimeAgo('ru').format(Date.now() - 5 * 365 * 24 * 60 * 60 * 1000, style2).should.equal('5 л')\r\n\t\tnew TimeAgo('ru').format(Date.now() - 5 * 365 * 24 * 60 * 60 * 1000, style2, { future: true }).should.equal('5 л')\r\n\t})\r\n\r\n\tit('should support the legacy properties: \"gradation\", \"flavour\", \"factor\", \"unit\", \"\\'tiny\\'\" labels style', () => {\r\n\t\t// Non-\"now\" unit, \"tiny\" style.\r\n\t\tconst style = {\r\n\t\t\tgradation: [{\r\n\t\t\t\tfactor: 5,\r\n\t\t\t\tunit: 'year'\r\n\t\t\t}],\r\n\t\t\tflavour: 'tiny'\r\n\t\t}\r\n\t\tnew TimeAgo('ru').format(Date.now() - 10 * 1000, style).should.equal('2 г')\r\n\t\tnew TimeAgo('ru').format(Date.now() - 10 * 1000, style, { future: true }).should.equal('2 г')\r\n\t})\r\n\r\n\tit('should have generated missing quantifier functions for locales that do not have it in CLDR data', () => {\r\n\t\tnew TimeAgo('ccp').format(Date.now() + 60 * 1000).should.include(' 𑄟𑄨𑄚𑄨𑄘𑄬')\r\n\t})\r\n\r\n\tit('should throw for non-existing locales', () => {\r\n\t\t(() => TimeAgo.addLocale()).should.throw('No locale data passed')\r\n\t})\r\n\r\n\tit('should choose \"future\" variant of a label for `0` if \"future: true\" option is passed', () => {\r\n\t\tTimeAgo.addLocale(english)\r\n\t\tconst secondLabels = english['mini'].second\r\n\t\tenglish['mini'].second = {\r\n\t\t\tpast: '{0} seconds ago',\r\n\t\t\tfuture: 'in {0} seconds'\r\n\t\t}\r\n\r\n\t\tnew TimeAgo('en').format(Date.now(), {\r\n\t\t\tsteps: [{\r\n\t\t\t\tunit: 'second'\r\n\t\t\t}],\r\n\t\t\t// Uses \"mini\" labels so that it doesn't use `Intl.RelativeTimeFormat`.\r\n\t\t\tlabels: 'mini'\r\n\t\t}).should.equal('0 seconds ago')\r\n\r\n\t\tnew TimeAgo('en').format(Date.now(), {\r\n\t\t\tsteps: [{\r\n\t\t\t\tunit: 'second'\r\n\t\t\t}],\r\n\t\t\t// Uses \"mini\" labels so that it doesn't use `Intl.RelativeTimeFormat`.\r\n\t\t\tlabels: 'mini'\r\n\t\t}, {\r\n\t\t\tfuture: true\r\n\t\t}).should.equal('in 0 seconds')\r\n\r\n\t\tenglish['mini'].second = secondLabels\r\n\t})\r\n\r\n\tit('should refresh the label when `refresh` parameter is passed', () => {\r\n\t\tlet refreshedTimes = 0\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// in 1 second -> in 0 seconds.\r\n\t\tconst [text, cancelRefresh] = timeAgo.format(1000, 'twitter', {\r\n\t\t\trefresh: (text) => {\r\n\t\t\t\tif (refreshedTimes === 0) {\r\n\t\t\t\t\texpect(text).to.equal('0s')\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthrow new Error('Refresh should have been cancelled')\r\n\t\t\t\t}\r\n\t\t\t\trefreshedTimes++\r\n\t\t\t},\r\n\t\t\tnow: 0,\r\n\t\t\tround: 'floor'\r\n\t\t})\r\n\t\texpect(text).to.equal('1s')\r\n\t\texpect(cancelRefresh).to.be.a('function')\r\n\t\t// Sidenote: `timeToNextUpdate` is `1`.\r\n\t\tconst timeToNextUpdate = 1\r\n\t\treturn delay(timeToNextUpdate + 1).then(() => {\r\n\t\t\texpect(refreshedTimes).to.equal(1)\r\n\t\t\tcancelRefresh()\r\n\t\t})\r\n\t})\r\n\r\n\tit('should get time to next update (capped)', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// in 1 second -> in 0 seconds.\r\n\t\ttimeAgo.format(0.5 * 365 * 24 * 60 * 60 * 1000, 'twitter', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 0,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'Jul 2',\r\n\t\t\t2147483647\r\n\t\t])\r\n\t})\r\n\r\n\tit('should get time to next update (capped)', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// in 1 second -> in 0 seconds.\r\n\t\ttimeAgo.format(0.5 * 365 * 24 * 60 * 60 * 1000, 'twitter', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tgetTimeToNextUpdateUncapped: true,\r\n\t\t\tnow: 0,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'Jul 2',\r\n\t\t\t15681600001\r\n\t\t])\r\n\t})\r\n\r\n\tit('should get time to next update (uncapped)', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// in 1 second -> in 0 seconds.\r\n\t\ttimeAgo.format(1000, 'twitter', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 0,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t1\r\n\t\t])\r\n\t})\r\n\r\n\tit('should get time to next update (round: \"floor\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// in 1 second -> in 0 seconds.\r\n\t\ttimeAgo.format(1000, 'twitter', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 0,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t1\r\n\t\t])\r\n\t})\r\n\r\n\tit('should get time to next update (round: \"round\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// in 1 second -> in 0 seconds.\r\n\t\ttimeAgo.format(1000, 'twitter', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 0\r\n\t\t}).should.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t501\r\n\t\t])\r\n\t})\r\n\r\n\tit('should get time to next update (\"mini-now\" style) (round: \"floor\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// In 1 minute.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 0,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'1m',\r\n\t\t\t1\r\n\t\t])\r\n\t\t// Almost in 1 minute.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 1,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'59s',\r\n\t\t\t1000\r\n\t\t])\r\n\t\t// In 1 second.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 59 * 1000,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t1\r\n\t\t])\r\n\t\t// Almost in 1 second.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 59 * 1000 + 1,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t// Right after zero point.\r\n\t\t\t1000\r\n\t\t])\r\n\t\t// Zero point (future to past).\r\n\t\t// `future: true`.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000,\r\n\t\t\tfuture: true,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t1\r\n\t\t])\r\n\t\t// Zero point (future to past).\r\n\t\t// `future: false`.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t1000\r\n\t\t])\r\n\t\t// Right after zero point (past).\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000 + 1,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t1000 - 1\r\n\t\t])\r\n\t\t// 1 second ago.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000 + 1000,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t1000\r\n\t\t])\r\n\t})\r\n\r\n\tit('should get time to next update (\"mini-now\" style) (round: \"round\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// In 1 minute.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 0\r\n\t\t}).should.deep.equal([\r\n\t\t\t'1m',\r\n\t\t\t500 + 1\r\n\t\t])\r\n\t\t// Almost in 1 minute.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 500 + 1\r\n\t\t}).should.deep.equal([\r\n\t\t\t'59s',\r\n\t\t\t1000\r\n\t\t])\r\n\t\t// In 1 second.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 59.5 * 1000\r\n\t\t}).should.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t1\r\n\t\t])\r\n\t\t// Almost in 1 second.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 59.5 * 1000 + 1\r\n\t\t}).should.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t// Right after zero point.\r\n\t\t\t500\r\n\t\t])\r\n\t\t// Zero point (future to past).\r\n\t\t// `future: true`.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000,\r\n\t\t\tfuture: true\r\n\t\t}).should.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t1\r\n\t\t])\r\n\t\t// Zero point (future to past).\r\n\t\t// `future: false`.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000\r\n\t\t}).should.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t500\r\n\t\t])\r\n\t\t// Right after zero point (past).\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000 + 1\r\n\t\t}).should.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t500 - 1\r\n\t\t])\r\n\t\t// 1 second ago.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000 + 500\r\n\t\t}).should.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t1000\r\n\t\t])\r\n\t})\r\n\r\n\tit('should get time to next update (first step has non-zero \"minTime\") (round: \"floor\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\r\n\t\t// Future.\r\n\t\t// Inside the first step.\r\n\t\t// Updates soon.\r\n\t\ttimeAgo.format(60 * 1000, {\r\n\t\t\tsteps: [{\r\n\t\t\t\tformatAs: 'minute',\r\n\t\t\t\tminTime: 60\r\n\t\t\t}],\r\n\t\t\tlabels: 'mini',\r\n\t\t\tround: 'floor'\r\n\t\t}, {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: -0.5 * 1000\r\n\t\t}).should.deep.equal([\r\n\t\t\t'1m',\r\n\t\t\t0.5 * 1000 + 1\r\n\t\t])\r\n\r\n\t\t// Future.\r\n\t\t// Outside of the first step.\r\n\t\t// Updates right after zero point.\r\n\t\ttimeAgo.format(60 * 1000, {\r\n\t\t\tsteps: [{\r\n\t\t\t\tformatAs: 'minute',\r\n\t\t\t\tminTime: 60 * 1000\r\n\t\t\t}],\r\n\t\t\tlabels: 'mini',\r\n\t\t\tround: 'floor'\r\n\t\t}, {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 1 * 1000\r\n\t\t}).should.deep.equal([\r\n\t\t\t'',\r\n\t\t\t59 * 1000 + 1\r\n\t\t])\r\n\r\n\t\t// Zero point.\r\n\t\t// Outside of the first step.\r\n\t\t// Updates at the first step's `minTime`.\r\n\t\ttimeAgo.format(60 * 1000, {\r\n\t\t\tsteps: [{\r\n\t\t\t\tformatAs: 'minute',\r\n\t\t\t\tminTime: 60\r\n\t\t\t}],\r\n\t\t\tlabels: 'mini',\r\n\t\t\tround: 'floor'\r\n\t\t}, {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000\r\n\t\t}).should.deep.equal([\r\n\t\t\t'',\r\n\t\t\t60 * 1000\r\n\t\t])\r\n\r\n\t\t// Past.\r\n\t\t// Inside the first step.\r\n\t\t// Updates at the next minute.\r\n\t\ttimeAgo.format(60 * 1000, {\r\n\t\t\tsteps: [{\r\n\t\t\t\tformatAs: 'minute',\r\n\t\t\t\tminTime: 60\r\n\t\t\t}],\r\n\t\t\tlabels: 'mini',\r\n\t\t\tround: 'floor'\r\n\t\t}, {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000 + 60 * 1000\r\n\t\t}).should.deep.equal([\r\n\t\t\t'1m',\r\n\t\t\t60 * 1000\r\n\t\t])\r\n\r\n\t\t// Almost in 1 minute.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 1,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'59s',\r\n\t\t\t1000\r\n\t\t])\r\n\t\t// In 1 second.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 59 * 1000,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t1\r\n\t\t])\r\n\t\t// Almost in 1 second.\r\n\t\t// Updates right after the zero point.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 59 * 1000 + 1,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t1000\r\n\t\t])\r\n\t\t// Zero point (future to past).\r\n\t\t// `future: true`.\r\n\t\t// Updates right after zero point.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000,\r\n\t\t\tfuture: true,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t1\r\n\t\t])\r\n\t\t// Zero point (future to past).\r\n\t\t// `future: false`.\r\n\t\t// Updates at the next second.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t1000\r\n\t\t])\r\n\t\t// Right after zero point (past).\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000 + 1,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t1000 - 1\r\n\t\t])\r\n\t\t// 1 second ago.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000 + 1000,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t1000\r\n\t\t])\r\n\t})\r\n\r\n\tit('should pass `formatAs()` in `step.format()`', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\ttimeAgo.format(Date.now(), {\r\n\t\t\tlabels: 'long',\r\n\t\t\tsteps: [{\r\n\t\t\t\tformat(date, locale, { formatAs }) {\r\n\t\t\t\t\treturn formatAs('second', 1)\r\n\t\t\t\t}\r\n\t\t\t}]\r\n\t\t}).should.equal('in 1 second')\r\n\t})\r\n\r\n\tit('should support `polyfill: false` option', () => {\r\n\t\tconst timeAgo = new TimeAgo('en', { polyfill: false })\r\n\t\t// Still uses \"now\" labels, even when not polyfilled.\r\n\t\ttimeAgo.format(0, 'round', { now: 0 }).should.equal('just now')\r\n\t\ttimeAgo.format(1000, 'round', { now: 0 }).should.equal('in 1 second')\r\n\t})\r\n\r\n\tit('should not use Intl.NumberFormat if it is not available', () => {\r\n\t\tconst Intl = global.Intl\r\n\t\tglobal.Intl = undefined\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\ttimeAgo.format(1000, 'round', { now: 0 }).should.equal('in 1 second')\r\n\t\tglobal.Intl = Intl\r\n\t})\r\n\r\n\tit('should format `0` in past mode by default', () => {\r\n\t\tnew TimeAgo('en').format(0, {\r\n\t\t\tlabels: 'long',\r\n\t\t\tsteps: [{\r\n\t\t\t\tformatAs: 'second'\r\n\t\t\t}]\r\n\t\t}, { now: 0 }).should.equal('0 seconds ago')\r\n\t})\r\n\r\n\tit('should format `0` in future mode when `future: true` option was passed', () => {\r\n\t\tnew TimeAgo('en').format(0, {\r\n\t\t\tlabels: 'long',\r\n\t\t\tsteps: [{\r\n\t\t\t\tformatAs: 'second'\r\n\t\t\t}]\r\n\t\t}, { now: 0, future: true }).should.equal('in 0 seconds')\r\n\t})\r\n\r\n\tit('should throw if a step does not define `formatAs` or `format()`', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\texpect(() => timeAgo.format(Date.now() + 1000, {\r\n\t\t\tlabels: 'long',\r\n\t\t\tsteps: [{}]\r\n\t\t})).to.throw('Each step must define either `formatAs` or `format()`.')\r\n\t})\r\n\r\n\tit('should add default locale', () => {\r\n\t\tTimeAgo.getDefaultLocale().should.equal('en')\r\n\t\tTimeAgo.addDefaultLocale({\r\n\t\t\tlocale: 'el'\r\n\t\t})\r\n\t\tTimeAgo.getDefaultLocale().should.equal('el')\r\n\t\t// Doesn't throw an error because the same locale is already specified as default.\r\n\t\tTimeAgo.addDefaultLocale({\r\n\t\t\tlocale: 'el'\r\n\t\t})\r\n\t\t// Could throw an error or output an error message because another locale is already specified as default.\r\n\t\t// expect(() => {\r\n\t\t\tTimeAgo.addDefaultLocale({\r\n\t\t\t\tlocale: 'es'\r\n\t\t\t})\r\n\t\t// }).to.throw('but you have already added \"el\" as the default locale.')\r\n\t\tTimeAgo.setDefaultLocale('en')\r\n\t})\r\n\r\n\tit('should support \"floor\" rounding', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\ttimeAgo.format(0.9 * 1000, 'twitter', { now: 0, round: 'floor' }).should.equal('0s')\r\n\t\ttimeAgo.format(1 * 1000, 'twitter', { now: 0, round: 'floor' }).should.equal('1s')\r\n\t\ttimeAgo.format(1.9 * 1000, 'twitter', { now: 0, round: 'floor' }).should.equal('1s')\r\n\t\ttimeAgo.format(2 * 1000, 'twitter', { now: 0, round: 'floor' }).should.equal('2s')\r\n\t\ttimeAgo.format(1.9 * 60 * 1000, 'twitter', { now: 0, round: 'floor' }).should.equal('1m')\r\n\t\ttimeAgo.format(2 * 60 * 1000, 'twitter', { now: 0, round: 'floor' }).should.equal('2m')\r\n\t})\r\n})\r\n\r\nfunction delay(delayTime) {\r\n\treturn new Promise((resolve) => {\r\n\t\tsetTimeout(resolve, delayTime)\r\n\t})\r\n}"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"TimeAgo.test.js","names":["describe","it","expect","TimeAgo","english","type","setDefaultLocale","timeAgo","format","Date","now","to","equal","future","labels","steps","formatAs","flavour","gradation","englishNow","addLocale","undefined","NumberFormat","Intl","englishLongTimeMinute","minute","past","mockedDate","getTime","thrower","units","custom","_ref","time","date","locale","_ref2","_ref3","getTimeToNextUpdate","style2","style","unit","factor","include","secondLabels","second","refreshedTimes","_timeAgo$format","refresh","text","Error","round","_timeAgo$format2","_slicedToArray","cancelRefresh","be","a","timeToNextUpdate","delay","then","deep","getTimeToNextUpdateUncapped","minTime","_ref4","polyfill","global","getDefaultLocale","addDefaultLocale","delayTime","Promise","resolve","setTimeout"],"sources":["../source/TimeAgo.test.js"],"sourcesContent":["import { describe, it } from 'mocha'\r\nimport { expect } from 'chai'\r\n\r\nimport TimeAgo from './TimeAgo.js'\r\n\r\n// Load locale specific relative date/time messages\r\nimport english from '../locale/en.json' with { type: 'json' }\r\n\r\n// Just so this function code is covered.\r\nTimeAgo.setDefaultLocale('en')\r\n\r\ndescribe(`javascript-time-ago`, () => {\r\n\tit('should default to \"round-minute\" style', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\texpect(timeAgo.format(Date.now())).to.equal('just now')\r\n\t\texpect(timeAgo.format(Date.now() + 20 * 1000)).to.equal('in a moment')\r\n\t\texpect(timeAgo.format(Date.now() + 1 * 60 * 1000)).to.equal('in 1 minute')\r\n\t\texpect(timeAgo.format(Date.now() + 4 * 60 * 1000)).to.equal('in 4 minutes')\r\n\t})\r\n\r\n\tit('should tell `options` argument from `style` argument', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\texpect(timeAgo.format(Date.now(), 'mini-now')).to.equal('now')\r\n\t\texpect(timeAgo.format(0, { future: true, now: 0 })).to.equal('in a moment')\r\n\t\texpect(timeAgo.format(0, { labels: 'mini', steps: [{ formatAs: 'now' }, { formatAs: 'second' }] }, { future: true, now: 0 })).to.equal('now')\r\n\t\texpect(timeAgo.format(0, { labels: ['mini'], steps: [{ formatAs: 'now' }, { formatAs: 'second' }] }, { future: true, now: 0 })).to.equal('now')\r\n\t\t// `flavour` is a legacy name of `labels` property.\r\n\t\texpect(timeAgo.format(0, { flavour: 'mini' }, { future: true, now: 0 })).to.equal('now')\r\n\t\texpect(timeAgo.format(0, { flavour: ['mini'] }, { future: true, now: 0 })).to.equal('now')\r\n\t\texpect(timeAgo.format(0, { steps: [{ formatAs: 'minute' }] }, { future: true, now: 0 })).to.equal('in 0 minutes')\r\n\t\t// `gradation` is a legacy name of `steps` property.\r\n\t\texpect(timeAgo.format(0, { gradation: [{ formatAs: 'minute' }] }, { future: true, now: 0 })).to.equal('in 0 minutes')\r\n\t})\r\n\r\n\tit('should try various label types until an appropriate one is found', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\texpect(timeAgo.format(Date.now(), { labels: ['exotic', 'short'] })).to.equal('just now')\r\n\t})\r\n\r\n\tit('should support the legacy name \"flavour\" of \"labels\"', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\texpect(timeAgo.format(Date.now(), { labels: ['exotic', 'short'] })).to.equal('just now')\r\n\t})\r\n\r\n\tit('should fallback to \"second.current\" for \"now\" when \"now\" is not defined', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\tconst englishNow = english.now\r\n\t\tdelete english.now\r\n\t\tTimeAgo.addLocale(english)\r\n\t\tenglish.now = undefined\r\n\t\texpect(timeAgo.format(Date.now(), { labels: 'long' })).to.equal('now')\r\n\t\tenglish.now = englishNow\r\n\t\texpect(timeAgo.format(Date.now(), { labels: 'long' })).to.equal('just now')\r\n\t})\r\n\r\n\tit('should not use Intl.NumberFormat if it is not available', () => {\r\n\t\tconst NumberFormat = Intl.NumberFormat\r\n\t\tdelete Intl.NumberFormat\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\texpect(timeAgo.format(Date.now() + 60 * 1000, { labels: 'long-time' })).to.equal('1 minute')\r\n\t\tIntl.NumberFormat = NumberFormat\r\n\t})\r\n\r\n\tit('should work when \"past\"/\"future\" messages are same for all quantifiers', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\texpect(timeAgo.format(Date.now() + 365 * 24 * 60 * 60 * 1000, { labels: 'short' })).to.equal('in 1 yr.')\r\n\t})\r\n\r\n\tit('should work when \"now\" is a string (does not differentiate between \"past\" and \"future\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\tconst englishNow = english.now\r\n\t\tenglish.now = { now: 'now' }\r\n\t\tTimeAgo.addLocale(english)\r\n\t\texpect(timeAgo.format(Date.now(), { labels: 'long' })).to.equal('now')\r\n\t\tenglish.now = englishNow\r\n\t\texpect(timeAgo.format(Date.now(), { labels: 'long' })).to.equal('just now')\r\n\t})\r\n\r\n\tit('should work when a unit has formatting rules for \"past\" and \"future\" which are strings (style: not \"long\", not \"short\", not \"narrow\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\tconst englishLongTimeMinute = english['long-time'].minute\r\n\t\tenglish['long-time'].minute = {\r\n\t\t\tpast: '{0} minute(s) ago',\r\n\t\t\tfuture: 'in {0} minute(s)'\r\n\t\t}\r\n\t\tTimeAgo.addLocale(english)\r\n\t\t// Past.\r\n\t\texpect(timeAgo.format(Date.now() - 60 * 1000, { labels: 'long-time' })).to.equal('1 minute(s) ago')\r\n\t\t// Future (covers an \"else\" branch).\r\n\t\texpect(timeAgo.format(Date.now() + 60 * 1000, { labels: 'long-time' })).to.equal('in 1 minute(s)')\r\n\t\t// Undo.\r\n\t\tenglish['long-time'].minute = englishLongTimeMinute\r\n\t\texpect(timeAgo.format(Date.now() - 60 * 1000, { labels: 'long-time' })).to.equal('1 minute')\r\n\t})\r\n\r\n\tit(`should format \"now\" for \"past\" time`, () =>\r\n\t{\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\texpect(timeAgo.format(Date.now() + 10, { labels: ['long'] })).to.equal('in a moment')\r\n\t})\r\n\r\n\tit('should accept a string style name argument', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// \"mini\".\r\n\t\texpect(timeAgo.format(Date.now() - 0 * 1000, 'mini')).to.equal('0s')\r\n\t\texpect(timeAgo.format(Date.now() - 1 * 1000, 'mini')).to.equal('1s')\r\n\t\t// \"mini-now\".\r\n\t\texpect(timeAgo.format(Date.now() - 0 * 1000, 'mini-now')).to.equal('now')\r\n\t\texpect(timeAgo.format(Date.now() - 1 * 1000, 'mini-now')).to.equal('1s')\r\n\t\t// \"mini-minute-now\".\r\n\t\texpect(timeAgo.format(Date.now() - 29 * 1000, 'mini-minute-now')).to.equal('now')\r\n\t\texpect(timeAgo.format(Date.now() - 60 * 1000, 'mini-minute-now')).to.equal('1m')\r\n\t\t// \"mini-minute\".\r\n\t\texpect(timeAgo.format(Date.now() - 29 * 1000, 'mini-minute')).to.equal('0m')\r\n\t\texpect(timeAgo.format(Date.now() - 60 * 1000, 'mini-minute')).to.equal('1m')\r\n\t\t// \"twitter\".\r\n\t\texpect(timeAgo.format(Date.now() - 0 * 1000, 'twitter')).to.equal('0s')\r\n\t\texpect(timeAgo.format(Date.now() - 1 * 1000, 'twitter')).to.equal('1s')\r\n\t\t// \"twitter-now\".\r\n\t\texpect(timeAgo.format(Date.now() - 0 * 1000, 'twitter-now')).to.equal('now')\r\n\t\texpect(timeAgo.format(Date.now() - 1 * 1000, 'twitter-now')).to.equal('1s')\r\n\t\t// \"twitter-minute-now\".\r\n\t\texpect(timeAgo.format(Date.now() - 29 * 1000, 'twitter-minute-now')).to.equal('now')\r\n\t\texpect(timeAgo.format(Date.now() - 60 * 1000, 'twitter-minute-now')).to.equal('1m')\r\n\t\t// \"twitter-minute\".\r\n\t\texpect(timeAgo.format(Date.now() - 29 * 1000, 'twitter-minute')).to.equal('0m')\r\n\t\texpect(timeAgo.format(Date.now() - 60 * 1000, 'twitter-minute')).to.equal('1m')\r\n\t\t// \"twitter-first-minute\".\r\n\t\texpect(timeAgo.format(Date.now() - 29 * 1000, 'twitter-first-minute')).to.equal('')\r\n\t\texpect(timeAgo.format(Date.now() - 60 * 1000, 'twitter-first-minute')).to.equal('1m')\r\n\t\t// \"approximate\".\r\n\t\texpect(timeAgo.format(Date.now() - 45 * 1000, 'approximate')).to.equal('just now')\r\n\t\t// \"convenient\" style was renamed to \"approximate\".\r\n\t\texpect(timeAgo.format(Date.now() - 45 * 1000, 'convenient')).to.equal('just now')\r\n\t\texpect(timeAgo.format(Date.now() - 45 * 1000, 'round')).to.equal('45 seconds ago')\r\n\t\t// \"default\" style was renamed to \"round\".\r\n\t\texpect(timeAgo.format(Date.now() - 45 * 1000, 'default')).to.equal('45 seconds ago')\r\n\t\texpect(timeAgo.format(Date.now() - 29 * 1000, 'round-minute')).to.equal('just now')\r\n\t\t// \"time\" style was renamed to \"approximate-time\".\r\n\t\texpect(timeAgo.format(Date.now() - 2 * 60 * 1000, 'time')).to.equal('2 minutes')\r\n\t\texpect(timeAgo.format(Date.now() - 2 * 60 * 1000, 'approximate-time')).to.equal('2 minutes')\r\n\t\texpect(timeAgo.format(Date.now(), 'exotic')).to.equal('just now')\r\n\t})\r\n\r\n\tit('should accept empty constructor parameters', () => {\r\n\t\tconst timeAgo = new TimeAgo()\r\n\t\texpect(timeAgo.format(new Date())).to.equal('just now')\r\n\t})\r\n\r\n\tit('should accept \"mocked\" Dates when testing', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\tconst mockedDate = { getTime: () => Date.now() }\r\n\t\texpect(timeAgo.format(mockedDate)).to.equal('just now')\r\n\t})\r\n\r\n\tit('should not accept anything but Dates and timestamps', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\tconst thrower = () => timeAgo.format('Jan 14, 2017')\r\n\t\texpect(thrower).to.throw('Unsupported relative time formatter input: string, Jan 14, 2017')\r\n\t})\r\n\r\n\tit('should return an empty string if the specified units are not available in locale data', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\texpect(timeAgo.format(Date.now(), { units: ['femtosecond'] })).to.equal('')\r\n\t})\r\n\r\n\tit('should format for a style with \"custom\" function', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\r\n\t\texpect(timeAgo.format(Date.now(), {\r\n\t\t\t// `custom` returns a string\r\n\t\t\tcustom({ now, time, date, locale }) {\r\n\t\t\t\treturn locale\r\n\t\t\t}\r\n\t\t})\r\n\t\t).to.equal('en')\r\n\r\n\t\texpect(timeAgo.format(Date.now(), {\r\n\t\t\t// `custom` returns `undefined`\r\n\t\t\tcustom({ now, time, date, locale }) {\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t})\r\n\t\t).to.equal('just now')\r\n\t})\r\n\r\n\tit('should throw an error when formating for a style with \"custom\" function and `getTimeToNextUpdate: true` parameter is passed', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\r\n\t\texpect(() => {\r\n\t\t\ttimeAgo.format(Date.now(), {\r\n\t\t\t\t// `custom` returns a string.\r\n\t\t\t\tcustom({ now, time, date, locale }) {\r\n\t\t\t\t\treturn locale\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tgetTimeToNextUpdate: true\r\n\t\t\t})\r\n\t\t}).to.throw('not supported')\r\n\t})\r\n\r\n\tit('should format future dates', () => {\r\n\t\texpect(new TimeAgo('en').format(Date.now() + 60 * 60 * 1000)).to.equal('in 1 hour')\r\n\t\texpect(new TimeAgo('ru').format(Date.now() + 60 * 1000)).to.equal('через 1 минуту')\r\n\t})\r\n\r\n\tit('should accept \"future\" option', () => {\r\n\t\t// \"now\" unit.\r\n\t\texpect(new TimeAgo('en').format(Date.now())).to.equal('just now')\r\n\t\texpect(new TimeAgo('en').format(Date.now(), 'approximate', { future: true })).to.equal('in a moment')\r\n\r\n\t\t// Non-\"now\" unit, \"long\" style.\r\n\t\t// const style = {\r\n\t\t// \tgradation: [{\r\n\t\t// \t\tfactor: 1,\r\n\t\t// \t\tunit: 'second'\r\n\t\t// \t}],\r\n\t\t// \tlabels: 'long'\r\n\t\t// }\r\n\t\t// expect(new TimeAgo('en').format(Date.now(), style)).to.equal('0 seconds ago')\r\n\t\t// expect(new TimeAgo('en').format(Date.now(), style, { future: true })).to.equal('in 0 seconds')\r\n\r\n\t\t// Non-\"now\" unit, \"mini\" style.\r\n\t\tconst style2 = {\r\n\t\t\tstyle: [{\r\n\t\t\t\tunit: 'year'\r\n\t\t\t}],\r\n\t\t\tlabels: 'mini'\r\n\t\t}\r\n\t\texpect(new TimeAgo('ru').format(Date.now() - 5 * 365 * 24 * 60 * 60 * 1000, style2)).to.equal('5 л')\r\n\t\texpect(new TimeAgo('ru').format(Date.now() - 5 * 365 * 24 * 60 * 60 * 1000, style2, { future: true })).to.equal('5 л')\r\n\t})\r\n\r\n\tit('should support the legacy properties: \"gradation\", \"flavour\", \"factor\", \"unit\", \"\\'tiny\\'\" labels style', () => {\r\n\t\t// Non-\"now\" unit, \"tiny\" style.\r\n\t\tconst style = {\r\n\t\t\tgradation: [{\r\n\t\t\t\tfactor: 5,\r\n\t\t\t\tunit: 'year'\r\n\t\t\t}],\r\n\t\t\tflavour: 'tiny'\r\n\t\t}\r\n\t\texpect(new TimeAgo('ru').format(Date.now() - 10 * 1000, style)).to.equal('2 г')\r\n\t\texpect(new TimeAgo('ru').format(Date.now() - 10 * 1000, style, { future: true })).to.equal('2 г')\r\n\t})\r\n\r\n\tit('should have generated missing quantifier functions for locales that do not have it in CLDR data', () => {\r\n\t\texpect(new TimeAgo('ccp').format(Date.now() + 60 * 1000)).to.include(' 𑄟𑄨𑄚𑄨𑄘𑄬')\r\n\t})\r\n\r\n\tit('should throw for non-existing locales', () => {\r\n\t\texpect(() => TimeAgo.addLocale()).to.throw('No locale data passed')\r\n\t})\r\n\r\n\tit('should choose \"future\" variant of a label for `0` if \"future: true\" option is passed', () => {\r\n\t\tTimeAgo.addLocale(english)\r\n\t\tconst secondLabels = english['mini'].second\r\n\t\tenglish['mini'].second = {\r\n\t\t\tpast: '{0} seconds ago',\r\n\t\t\tfuture: 'in {0} seconds'\r\n\t\t}\r\n\r\n\t\texpect(new TimeAgo('en').format(Date.now(), {\r\n\t\t\tsteps: [{\r\n\t\t\t\tunit: 'second'\r\n\t\t\t}],\r\n\t\t\t// Uses \"mini\" labels so that it doesn't use `Intl.RelativeTimeFormat`.\r\n\t\t\tlabels: 'mini'\r\n\t\t})).to.equal('0 seconds ago')\r\n\r\n\t\texpect(new TimeAgo('en').format(Date.now(), {\r\n\t\t\tsteps: [{\r\n\t\t\t\tunit: 'second'\r\n\t\t\t}],\r\n\t\t\t// Uses \"mini\" labels so that it doesn't use `Intl.RelativeTimeFormat`.\r\n\t\t\tlabels: 'mini'\r\n\t\t}, {\r\n\t\t\tfuture: true\r\n\t\t})).to.equal('in 0 seconds')\r\n\r\n\t\tenglish['mini'].second = secondLabels\r\n\t})\r\n\r\n\tit('should refresh the label when `refresh` parameter is passed', () => {\r\n\t\tlet refreshedTimes = 0\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// in 1 second -> in 0 seconds.\r\n\t\tconst [text, cancelRefresh] = timeAgo.format(1000, 'twitter', {\r\n\t\t\trefresh: (text) => {\r\n\t\t\t\tif (refreshedTimes === 0) {\r\n\t\t\t\t\t// This test sometimes throws an error for an unknown weird reason:\r\n\t\t\t\t\t//\r\n\t\t\t\t\t// \"AssertionError: expected '1s' to equal '0s'\".\r\n\t\t\t\t\t//\r\n\t\t\t\t\t// \"Error: done() called multiple times in test <javascript-time-ago\r\n\t\t\t\t\t// should refresh the label when `refresh` parameter is passed> of file\r\n\t\t\t\t\t// c:\\dev\\javascript-time-ago\\source\\TimeAgo.test.js; in addition,\r\n\t\t\t\t\t// done() received error: AssertionError: expected +0 to equal 1\"\r\n\t\t\t\t\t//\r\n\t\t\t\t\t// In case it does that, just re-run the tests and somehow the error is gone.\r\n\t\t\t\t\t// I didn't bother debugging the error because it's not clear how it's reproduced.\r\n\t\t\t\t\t//\r\n\t\t\t\t\texpect(text).to.equal('0s')\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthrow new Error('Refresh should have been cancelled')\r\n\t\t\t\t}\r\n\t\t\t\trefreshedTimes++\r\n\t\t\t},\r\n\t\t\tnow: 0,\r\n\t\t\tround: 'floor'\r\n\t\t})\r\n\t\texpect(text).to.equal('1s')\r\n\t\texpect(cancelRefresh).to.be.a('function')\r\n\t\t// Sidenote: `timeToNextUpdate` is `1`.\r\n\t\tconst timeToNextUpdate = 1\r\n\t\treturn delay(timeToNextUpdate + 1).then(() => {\r\n\t\t\texpect(refreshedTimes).to.equal(1)\r\n\t\t\tcancelRefresh()\r\n\t\t})\r\n\t})\r\n\r\n\tit('should get time to next update (capped)', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// in 1 second -> in 0 seconds.\r\n\t\texpect(timeAgo.format(0.5 * 365 * 24 * 60 * 60 * 1000, 'twitter', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 0,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'Jul 2',\r\n\t\t\t2147483647\r\n\t\t])\r\n\t})\r\n\r\n\tit('should get time to next update (capped)', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// in 1 second -> in 0 seconds.\r\n\t\texpect(timeAgo.format(0.5 * 365 * 24 * 60 * 60 * 1000, 'twitter', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tgetTimeToNextUpdateUncapped: true,\r\n\t\t\tnow: 0,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'Jul 2',\r\n\t\t\t15681600001\r\n\t\t])\r\n\t})\r\n\r\n\tit('should get time to next update (uncapped)', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// in 1 second -> in 0 seconds.\r\n\t\texpect(timeAgo.format(1000, 'twitter', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 0,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t1\r\n\t\t])\r\n\t})\r\n\r\n\tit('should get time to next update (round: \"floor\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// in 1 second -> in 0 seconds.\r\n\t\texpect(timeAgo.format(1000, 'twitter', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 0,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t1\r\n\t\t])\r\n\t})\r\n\r\n\tit('should get time to next update (round: \"round\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// in 1 second -> in 0 seconds.\r\n\t\texpect(timeAgo.format(1000, 'twitter', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 0\r\n\t\t})).to.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t501\r\n\t\t])\r\n\t})\r\n\r\n\tit('should get time to next update (\"mini-now\" style) (round: \"floor\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// In 1 minute.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 0,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'1m',\r\n\t\t\t1\r\n\t\t])\r\n\t\t// Almost in 1 minute.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 1,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'59s',\r\n\t\t\t1000\r\n\t\t])\r\n\t\t// In 1 second.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 59 * 1000,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t1\r\n\t\t])\r\n\t\t// Almost in 1 second.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 59 * 1000 + 1,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t// Right after zero point.\r\n\t\t\t1000\r\n\t\t])\r\n\t\t// Zero point (future to past).\r\n\t\t// `future: true`.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000,\r\n\t\t\tfuture: true,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t1\r\n\t\t])\r\n\t\t// Zero point (future to past).\r\n\t\t// `future: false`.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t1000\r\n\t\t])\r\n\t\t// Right after zero point (past).\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000 + 1,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t1000 - 1\r\n\t\t])\r\n\t\t// 1 second ago.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000 + 1000,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t1000\r\n\t\t])\r\n\t})\r\n\r\n\tit('should get time to next update (\"mini-now\" style) (round: \"round\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// In 1 minute.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 0\r\n\t\t})).to.deep.equal([\r\n\t\t\t'1m',\r\n\t\t\t500 + 1\r\n\t\t])\r\n\t\t// Almost in 1 minute.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 500 + 1\r\n\t\t})).to.deep.equal([\r\n\t\t\t'59s',\r\n\t\t\t1000\r\n\t\t])\r\n\t\t// In 1 second.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 59.5 * 1000\r\n\t\t})).to.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t1\r\n\t\t])\r\n\t\t// Almost in 1 second.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 59.5 * 1000 + 1\r\n\t\t})).to.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t// Right after zero point.\r\n\t\t\t500\r\n\t\t])\r\n\t\t// Zero point (future to past).\r\n\t\t// `future: true`.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000,\r\n\t\t\tfuture: true\r\n\t\t})).to.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t1\r\n\t\t])\r\n\t\t// Zero point (future to past).\r\n\t\t// `future: false`.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000\r\n\t\t})).to.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t500\r\n\t\t])\r\n\t\t// Right after zero point (past).\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000 + 1\r\n\t\t})).to.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t500 - 1\r\n\t\t])\r\n\t\t// 1 second ago.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000 + 500\r\n\t\t})).to.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t1000\r\n\t\t])\r\n\t})\r\n\r\n\tit('should get time to next update (first step has non-zero \"minTime\") (round: \"floor\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\r\n\t\t// Future.\r\n\t\t// Inside the first step.\r\n\t\t// Updates soon.\r\n\t\texpect(timeAgo.format(60 * 1000, {\r\n\t\t\tsteps: [{\r\n\t\t\t\tformatAs: 'minute',\r\n\t\t\t\tminTime: 60\r\n\t\t\t}],\r\n\t\t\tlabels: 'mini',\r\n\t\t\tround: 'floor'\r\n\t\t}, {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: -0.5 * 1000\r\n\t\t})).to.deep.equal([\r\n\t\t\t'1m',\r\n\t\t\t0.5 * 1000 + 1\r\n\t\t])\r\n\r\n\t\t// Future.\r\n\t\t// Outside of the first step.\r\n\t\t// Updates right after zero point.\r\n\t\texpect(timeAgo.format(60 * 1000, {\r\n\t\t\tsteps: [{\r\n\t\t\t\tformatAs: 'minute',\r\n\t\t\t\tminTime: 60 * 1000\r\n\t\t\t}],\r\n\t\t\tlabels: 'mini',\r\n\t\t\tround: 'floor'\r\n\t\t}, {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 1 * 1000\r\n\t\t})).to.deep.equal([\r\n\t\t\t'',\r\n\t\t\t59 * 1000 + 1\r\n\t\t])\r\n\r\n\t\t// Zero point.\r\n\t\t// Outside of the first step.\r\n\t\t// Updates at the first step's `minTime`.\r\n\t\texpect(timeAgo.format(60 * 1000, {\r\n\t\t\tsteps: [{\r\n\t\t\t\tformatAs: 'minute',\r\n\t\t\t\tminTime: 60\r\n\t\t\t}],\r\n\t\t\tlabels: 'mini',\r\n\t\t\tround: 'floor'\r\n\t\t}, {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000\r\n\t\t})).to.deep.equal([\r\n\t\t\t'',\r\n\t\t\t60 * 1000\r\n\t\t])\r\n\r\n\t\t// Past.\r\n\t\t// Inside the first step.\r\n\t\t// Updates at the next minute.\r\n\t\texpect(timeAgo.format(60 * 1000, {\r\n\t\t\tsteps: [{\r\n\t\t\t\tformatAs: 'minute',\r\n\t\t\t\tminTime: 60\r\n\t\t\t}],\r\n\t\t\tlabels: 'mini',\r\n\t\t\tround: 'floor'\r\n\t\t}, {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000 + 60 * 1000\r\n\t\t})).to.deep.equal([\r\n\t\t\t'1m',\r\n\t\t\t60 * 1000\r\n\t\t])\r\n\r\n\t\t// Almost in 1 minute.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 1,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'59s',\r\n\t\t\t1000\r\n\t\t])\r\n\t\t// In 1 second.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 59 * 1000,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t1\r\n\t\t])\r\n\t\t// Almost in 1 second.\r\n\t\t// Updates right after the zero point.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 59 * 1000 + 1,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t1000\r\n\t\t])\r\n\t\t// Zero point (future to past).\r\n\t\t// `future: true`.\r\n\t\t// Updates right after zero point.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000,\r\n\t\t\tfuture: true,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t1\r\n\t\t])\r\n\t\t// Zero point (future to past).\r\n\t\t// `future: false`.\r\n\t\t// Updates at the next second.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t1000\r\n\t\t])\r\n\t\t// Right after zero point (past).\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000 + 1,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t1000 - 1\r\n\t\t])\r\n\t\t// 1 second ago.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000 + 1000,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t1000\r\n\t\t])\r\n\t})\r\n\r\n\tit('should pass `formatAs()` in `step.format()`', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\texpect(timeAgo.format(Date.now(), {\r\n\t\t\tlabels: 'long',\r\n\t\t\tsteps: [{\r\n\t\t\t\tformat(date, locale, { formatAs }) {\r\n\t\t\t\t\treturn formatAs('second', 1)\r\n\t\t\t\t}\r\n\t\t\t}]\r\n\t\t})).to.equal('in 1 second')\r\n\t})\r\n\r\n\tit('should support `polyfill: false` option', () => {\r\n\t\tconst timeAgo = new TimeAgo('en', { polyfill: false })\r\n\t\t// Still uses \"now\" labels, even when not polyfilled.\r\n\t\texpect(timeAgo.format(0, 'round', { now: 0 })).to.equal('just now')\r\n\t\texpect(timeAgo.format(1000, 'round', { now: 0 })).to.equal('in 1 second')\r\n\t})\r\n\r\n\tit('should not use Intl.NumberFormat if it is not available', () => {\r\n\t\tconst Intl = global.Intl\r\n\t\tglobal.Intl = undefined\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\texpect(timeAgo.format(1000, 'round', { now: 0 })).to.equal('in 1 second')\r\n\t\tglobal.Intl = Intl\r\n\t})\r\n\r\n\tit('should format `0` in past mode by default', () => {\r\n\t\texpect(new TimeAgo('en').format(0, {\r\n\t\t\tlabels: 'long',\r\n\t\t\tsteps: [{\r\n\t\t\t\tformatAs: 'second'\r\n\t\t\t}]\r\n\t\t}, { now: 0 })).to.equal('0 seconds ago')\r\n\t})\r\n\r\n\tit('should format `0` in future mode when `future: true` option was passed', () => {\r\n\t\texpect(new TimeAgo('en').format(0, {\r\n\t\t\tlabels: 'long',\r\n\t\t\tsteps: [{\r\n\t\t\t\tformatAs: 'second'\r\n\t\t\t}]\r\n\t\t}, { now: 0, future: true })).to.equal('in 0 seconds')\r\n\t})\r\n\r\n\tit('should throw if a step does not define `formatAs` or `format()`', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\texpect(() => timeAgo.format(Date.now() + 1000, {\r\n\t\t\tlabels: 'long',\r\n\t\t\tsteps: [{}]\r\n\t\t})).to.throw('Each step must define either `formatAs` or `format()`.')\r\n\t})\r\n\r\n\tit('should add default locale', () => {\r\n\t\texpect(TimeAgo.getDefaultLocale()).to.equal('en')\r\n\t\tTimeAgo.addDefaultLocale({\r\n\t\t\tlocale: 'el'\r\n\t\t})\r\n\t\texpect(TimeAgo.getDefaultLocale()).to.equal('el')\r\n\t\t// Doesn't throw an error because the same locale is already specified as default.\r\n\t\tTimeAgo.addDefaultLocale({\r\n\t\t\tlocale: 'el'\r\n\t\t})\r\n\t\t// Could throw an error or output an error message because another locale is already specified as default.\r\n\t\t// expect(() => {\r\n\t\t\tTimeAgo.addDefaultLocale({\r\n\t\t\t\tlocale: 'es'\r\n\t\t\t})\r\n\t\t// }).to.throw('but you have already added \"el\" as the default locale.')\r\n\t\tTimeAgo.setDefaultLocale('en')\r\n\t})\r\n\r\n\tit('should support \"floor\" rounding', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\texpect(timeAgo.format(0.9 * 1000, 'twitter', { now: 0, round: 'floor' })).to.equal('0s')\r\n\t\texpect(timeAgo.format(1 * 1000, 'twitter', { now: 0, round: 'floor' })).to.equal('1s')\r\n\t\texpect(timeAgo.format(1.9 * 1000, 'twitter', { now: 0, round: 'floor' })).to.equal('1s')\r\n\t\texpect(timeAgo.format(2 * 1000, 'twitter', { now: 0, round: 'floor' })).to.equal('2s')\r\n\t\texpect(timeAgo.format(1.9 * 60 * 1000, 'twitter', { now: 0, round: 'floor' })).to.equal('1m')\r\n\t\texpect(timeAgo.format(2 * 60 * 1000, 'twitter', { now: 0, round: 'floor' })).to.equal('2m')\r\n\t})\r\n})\r\n\r\nfunction delay(delayTime) {\r\n\treturn new Promise((resolve) => {\r\n\t\tsetTimeout(resolve, delayTime)\r\n\t})\r\n}"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,5 @@
1
+ import { describe, it } from 'mocha';
2
+ import { expect } from 'chai';
1
3
  import Cache from './cache.js';
2
4
  describe('cache', function () {
3
5
  it('should cache', function () {
@@ -1 +1 @@
1
- {"version":3,"file":"cache.test.js","names":["Cache","describe","it","cache","value","expect","get","to","be","undefined","put","equal"],"sources":["../source/cache.test.js"],"sourcesContent":["import Cache from './cache.js'\r\n\r\ndescribe('cache', () => {\r\n\tit('should cache', () => {\r\n\t\tconst cache = new Cache()\r\n\r\n\t\tconst value = {}\r\n\t\texpect(cache.get('123', '456')).to.be.undefined\r\n\t\texpect(cache.put('123', '456', value)).to.equal(value)\r\n\t\texpect(cache.get('123', '456')).to.equal(value)\r\n\r\n\t\texpect(cache.put('123', '789', 123)).to.equal(123)\r\n\t})\r\n})\r\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,YAAY;AAE9BC,QAAQ,CAAC,OAAO,EAAE,YAAM;EACvBC,EAAE,CAAC,cAAc,EAAE,YAAM;IACxB,IAAMC,KAAK,GAAG,IAAIH,KAAK,CAAC,CAAC;IAEzB,IAAMI,KAAK,GAAG,CAAC,CAAC;IAChBC,MAAM,CAACF,KAAK,CAACG,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAACC,EAAE,CAACC,EAAE,CAACC,SAAS;IAC/CJ,MAAM,CAACF,KAAK,CAACO,GAAG,CAAC,KAAK,EAAE,KAAK,EAAEN,KAAK,CAAC,CAAC,CAACG,EAAE,CAACI,KAAK,CAACP,KAAK,CAAC;IACtDC,MAAM,CAACF,KAAK,CAACG,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAACC,EAAE,CAACI,KAAK,CAACP,KAAK,CAAC;IAE/CC,MAAM,CAACF,KAAK,CAACO,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAACH,EAAE,CAACI,KAAK,CAAC,GAAG,CAAC;EACnD,CAAC,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"cache.test.js","names":["describe","it","expect","Cache","cache","value","get","to","be","undefined","put","equal"],"sources":["../source/cache.test.js"],"sourcesContent":["import { describe, it } from 'mocha'\r\nimport { expect } from 'chai'\r\n\r\nimport Cache from './cache.js'\r\n\r\ndescribe('cache', () => {\r\n\tit('should cache', () => {\r\n\t\tconst cache = new Cache()\r\n\r\n\t\tconst value = {}\r\n\t\texpect(cache.get('123', '456')).to.be.undefined\r\n\t\texpect(cache.put('123', '456', value)).to.equal(value)\r\n\t\texpect(cache.get('123', '456')).to.equal(value)\r\n\r\n\t\texpect(cache.put('123', '789', 123)).to.equal(123)\r\n\t})\r\n})\r\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,EAAE,QAAQ,OAAO;AACpC,SAASC,MAAM,QAAQ,MAAM;AAE7B,OAAOC,KAAK,MAAM,YAAY;AAE9BH,QAAQ,CAAC,OAAO,EAAE,YAAM;EACvBC,EAAE,CAAC,cAAc,EAAE,YAAM;IACxB,IAAMG,KAAK,GAAG,IAAID,KAAK,CAAC,CAAC;IAEzB,IAAME,KAAK,GAAG,CAAC,CAAC;IAChBH,MAAM,CAACE,KAAK,CAACE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAACC,EAAE,CAACC,EAAE,CAACC,SAAS;IAC/CP,MAAM,CAACE,KAAK,CAACM,GAAG,CAAC,KAAK,EAAE,KAAK,EAAEL,KAAK,CAAC,CAAC,CAACE,EAAE,CAACI,KAAK,CAACN,KAAK,CAAC;IACtDH,MAAM,CAACE,KAAK,CAACE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAACC,EAAE,CAACI,KAAK,CAACN,KAAK,CAAC;IAE/CH,MAAM,CAACE,KAAK,CAACM,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAACH,EAAE,CAACI,KAAK,CAAC,GAAG,CAAC;EACnD,CAAC,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
@@ -1,34 +1,36 @@
1
+ import { describe, it } from 'mocha';
2
+ import { expect } from 'chai';
1
3
  import isStyleObject from './isStyleObject.js';
2
4
  describe('isStyleObject', function () {
3
5
  it('should detect a style object', function () {
4
- isStyleObject({
6
+ expect(isStyleObject({
5
7
  gradation: []
6
- }).should.equal(true);
7
- isStyleObject({
8
+ })).to.equal(true);
9
+ expect(isStyleObject({
8
10
  steps: []
9
- }).should.equal(true);
10
- isStyleObject({
11
+ })).to.equal(true);
12
+ expect(isStyleObject({
11
13
  flavour: 'long'
12
- }).should.equal(true);
13
- isStyleObject({
14
+ })).to.equal(true);
15
+ expect(isStyleObject({
14
16
  flavour: ['long']
15
- }).should.equal(true);
16
- isStyleObject({
17
+ })).to.equal(true);
18
+ expect(isStyleObject({
17
19
  labels: 'long'
18
- }).should.equal(true);
19
- isStyleObject({
20
+ })).to.equal(true);
21
+ expect(isStyleObject({
20
22
  labels: ['long']
21
- }).should.equal(true);
22
- isStyleObject({
23
+ })).to.equal(true);
24
+ expect(isStyleObject({
23
25
  units: ['now']
24
- }).should.equal(true);
25
- isStyleObject({
26
+ })).to.equal(true);
27
+ expect(isStyleObject({
26
28
  future: true,
27
29
  round: 'floor',
28
30
  now: 0,
29
31
  getTimeToNextUpdate: true
30
- }).should.equal(false);
31
- isStyleObject('round').should.equal(false);
32
+ })).to.equal(false);
33
+ expect(isStyleObject('round')).to.equal(false);
32
34
  });
33
35
  });
34
36
  //# sourceMappingURL=isStyleObject.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"isStyleObject.test.js","names":["isStyleObject","describe","it","gradation","should","equal","steps","flavour","labels","units","future","round","now","getTimeToNextUpdate"],"sources":["../source/isStyleObject.test.js"],"sourcesContent":["import isStyleObject from './isStyleObject.js'\r\n\r\ndescribe('isStyleObject', () => {\r\n\tit('should detect a style object', () => {\r\n\t\tisStyleObject({\r\n\t\t\tgradation: []\r\n\t\t}).should.equal(true)\r\n\t\tisStyleObject({\r\n\t\t\tsteps: []\r\n\t\t}).should.equal(true)\r\n\t\tisStyleObject({\r\n\t\t\tflavour: 'long'\r\n\t\t}).should.equal(true)\r\n\t\tisStyleObject({\r\n\t\t\tflavour: ['long']\r\n\t\t}).should.equal(true)\r\n\t\tisStyleObject({\r\n\t\t\tlabels: 'long'\r\n\t\t}).should.equal(true)\r\n\t\tisStyleObject({\r\n\t\t\tlabels: ['long']\r\n\t\t}).should.equal(true)\r\n\t\tisStyleObject({\r\n\t\t\tunits: ['now']\r\n\t\t}).should.equal(true)\r\n\t\tisStyleObject({\r\n\t\t\tfuture: true,\r\n\t\t\tround: 'floor',\r\n\t\t\tnow: 0,\r\n\t\t\tgetTimeToNextUpdate: true\r\n\t\t}).should.equal(false)\r\n\t\tisStyleObject('round').should.equal(false)\r\n\t})\r\n})"],"mappings":"AAAA,OAAOA,aAAa,MAAM,oBAAoB;AAE9CC,QAAQ,CAAC,eAAe,EAAE,YAAM;EAC/BC,EAAE,CAAC,8BAA8B,EAAE,YAAM;IACxCF,aAAa,CAAC;MACbG,SAAS,EAAE;IACZ,CAAC,CAAC,CAACC,MAAM,CAACC,KAAK,CAAC,IAAI,CAAC;IACrBL,aAAa,CAAC;MACbM,KAAK,EAAE;IACR,CAAC,CAAC,CAACF,MAAM,CAACC,KAAK,CAAC,IAAI,CAAC;IACrBL,aAAa,CAAC;MACbO,OAAO,EAAE;IACV,CAAC,CAAC,CAACH,MAAM,CAACC,KAAK,CAAC,IAAI,CAAC;IACrBL,aAAa,CAAC;MACbO,OAAO,EAAE,CAAC,MAAM;IACjB,CAAC,CAAC,CAACH,MAAM,CAACC,KAAK,CAAC,IAAI,CAAC;IACrBL,aAAa,CAAC;MACbQ,MAAM,EAAE;IACT,CAAC,CAAC,CAACJ,MAAM,CAACC,KAAK,CAAC,IAAI,CAAC;IACrBL,aAAa,CAAC;MACbQ,MAAM,EAAE,CAAC,MAAM;IAChB,CAAC,CAAC,CAACJ,MAAM,CAACC,KAAK,CAAC,IAAI,CAAC;IACrBL,aAAa,CAAC;MACbS,KAAK,EAAE,CAAC,KAAK;IACd,CAAC,CAAC,CAACL,MAAM,CAACC,KAAK,CAAC,IAAI,CAAC;IACrBL,aAAa,CAAC;MACbU,MAAM,EAAE,IAAI;MACZC,KAAK,EAAE,OAAO;MACdC,GAAG,EAAE,CAAC;MACNC,mBAAmB,EAAE;IACtB,CAAC,CAAC,CAACT,MAAM,CAACC,KAAK,CAAC,KAAK,CAAC;IACtBL,aAAa,CAAC,OAAO,CAAC,CAACI,MAAM,CAACC,KAAK,CAAC,KAAK,CAAC;EAC3C,CAAC,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"isStyleObject.test.js","names":["describe","it","expect","isStyleObject","gradation","to","equal","steps","flavour","labels","units","future","round","now","getTimeToNextUpdate"],"sources":["../source/isStyleObject.test.js"],"sourcesContent":["import { describe, it } from 'mocha'\r\nimport { expect } from 'chai'\r\n\r\nimport isStyleObject from './isStyleObject.js'\r\n\r\ndescribe('isStyleObject', () => {\r\n\tit('should detect a style object', () => {\r\n\t\texpect(isStyleObject({\r\n\t\t\tgradation: []\r\n\t\t})).to.equal(true)\r\n\t\texpect(isStyleObject({\r\n\t\t\tsteps: []\r\n\t\t})).to.equal(true)\r\n\t\texpect(isStyleObject({\r\n\t\t\tflavour: 'long'\r\n\t\t})).to.equal(true)\r\n\t\texpect(isStyleObject({\r\n\t\t\tflavour: ['long']\r\n\t\t})).to.equal(true)\r\n\t\texpect(isStyleObject({\r\n\t\t\tlabels: 'long'\r\n\t\t})).to.equal(true)\r\n\t\texpect(isStyleObject({\r\n\t\t\tlabels: ['long']\r\n\t\t})).to.equal(true)\r\n\t\texpect(isStyleObject({\r\n\t\t\tunits: ['now']\r\n\t\t})).to.equal(true)\r\n\t\texpect(isStyleObject({\r\n\t\t\tfuture: true,\r\n\t\t\tround: 'floor',\r\n\t\t\tnow: 0,\r\n\t\t\tgetTimeToNextUpdate: true\r\n\t\t})).to.equal(false)\r\n\t\texpect(isStyleObject('round')).to.equal(false)\r\n\t})\r\n})"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,EAAE,QAAQ,OAAO;AACpC,SAASC,MAAM,QAAQ,MAAM;AAE7B,OAAOC,aAAa,MAAM,oBAAoB;AAE9CH,QAAQ,CAAC,eAAe,EAAE,YAAM;EAC/BC,EAAE,CAAC,8BAA8B,EAAE,YAAM;IACxCC,MAAM,CAACC,aAAa,CAAC;MACpBC,SAAS,EAAE;IACZ,CAAC,CAAC,CAAC,CAACC,EAAE,CAACC,KAAK,CAAC,IAAI,CAAC;IAClBJ,MAAM,CAACC,aAAa,CAAC;MACpBI,KAAK,EAAE;IACR,CAAC,CAAC,CAAC,CAACF,EAAE,CAACC,KAAK,CAAC,IAAI,CAAC;IAClBJ,MAAM,CAACC,aAAa,CAAC;MACpBK,OAAO,EAAE;IACV,CAAC,CAAC,CAAC,CAACH,EAAE,CAACC,KAAK,CAAC,IAAI,CAAC;IAClBJ,MAAM,CAACC,aAAa,CAAC;MACpBK,OAAO,EAAE,CAAC,MAAM;IACjB,CAAC,CAAC,CAAC,CAACH,EAAE,CAACC,KAAK,CAAC,IAAI,CAAC;IAClBJ,MAAM,CAACC,aAAa,CAAC;MACpBM,MAAM,EAAE;IACT,CAAC,CAAC,CAAC,CAACJ,EAAE,CAACC,KAAK,CAAC,IAAI,CAAC;IAClBJ,MAAM,CAACC,aAAa,CAAC;MACpBM,MAAM,EAAE,CAAC,MAAM;IAChB,CAAC,CAAC,CAAC,CAACJ,EAAE,CAACC,KAAK,CAAC,IAAI,CAAC;IAClBJ,MAAM,CAACC,aAAa,CAAC;MACpBO,KAAK,EAAE,CAAC,KAAK;IACd,CAAC,CAAC,CAAC,CAACL,EAAE,CAACC,KAAK,CAAC,IAAI,CAAC;IAClBJ,MAAM,CAACC,aAAa,CAAC;MACpBQ,MAAM,EAAE,IAAI;MACZC,KAAK,EAAE,OAAO;MACdC,GAAG,EAAE,CAAC;MACNC,mBAAmB,EAAE;IACtB,CAAC,CAAC,CAAC,CAACT,EAAE,CAACC,KAAK,CAAC,KAAK,CAAC;IACnBJ,MAAM,CAACC,aAAa,CAAC,OAAO,CAAC,CAAC,CAACE,EAAE,CAACC,KAAK,CAAC,KAAK,CAAC;EAC/C,CAAC,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
@@ -1,9 +1,11 @@
1
+ import { describe, it } from 'mocha';
2
+ import { expect } from 'chai';
1
3
  import chooseLocale, { intlDateTimeFormatSupportedLocale } from './locale.js';
2
4
  describe('locale', function () {
3
5
  it("should tell if can use Intl for date formatting", function () {
4
- intlDateTimeFormatSupportedLocale('en').should.equal('en');
5
- intlDateTimeFormatSupportedLocale('en-XX').should.equal('en-XX');
6
- intlDateTimeFormatSupportedLocale(['en', 'ru']).should.equal('en');
6
+ expect(intlDateTimeFormatSupportedLocale('en')).to.equal('en');
7
+ expect(intlDateTimeFormatSupportedLocale('en-XX')).to.equal('en-XX');
8
+ expect(intlDateTimeFormatSupportedLocale(['en', 'ru'])).to.equal('en');
7
9
  });
8
10
  it("should choose the most appropriate locale", function () {
9
11
  function arrayToObject(array) {
@@ -22,13 +24,13 @@ describe('locale', function () {
22
24
  return locales.includes(_);
23
25
  });
24
26
  }
25
- choose('ru-RU', ['en', 'ru']).should.equal('ru');
26
- choose('en-GB', ['en', 'ru']).should.equal('en');
27
- choose('fr-FR', ['en', 'ru']).should.equal('en');
28
- choose(['fr-FR', 'de-DE'], ['en', 'ru']).should.equal('en');
29
- choose(['fr-FR', 'de-DE'], ['en', 'de']).should.equal('de');
30
- choose(['fr-FR', 'de-DE'], ['en', 'de', 'fr']).should.equal('fr');
31
- choose('fr-FR', ['en', 'fr-FR']).should.equal('fr-FR');
27
+ expect(choose('ru-RU', ['en', 'ru'])).to.equal('ru');
28
+ expect(choose('en-GB', ['en', 'ru'])).to.equal('en');
29
+ expect(choose('fr-FR', ['en', 'ru'])).to.equal('en');
30
+ expect(choose(['fr-FR', 'de-DE'], ['en', 'ru'])).to.equal('en');
31
+ expect(choose(['fr-FR', 'de-DE'], ['en', 'de'])).to.equal('de');
32
+ expect(choose(['fr-FR', 'de-DE'], ['en', 'de', 'fr'])).to.equal('fr');
33
+ expect(choose('fr-FR', ['en', 'fr-FR'])).to.equal('fr-FR');
32
34
  expect(function () {
33
35
  return choose('fr-FR', ['de', 'ru']);
34
36
  }).to["throw"]('No locale data has been registered for any of the locales: fr-FR');
@@ -1 +1 @@
1
- {"version":3,"file":"locale.test.js","names":["chooseLocale","intlDateTimeFormatSupportedLocale","describe","it","should","equal","arrayToObject","array","reduce","object","locale","choose","locales","defaultLocale","arguments","length","undefined","concat","_","includes","expect","to"],"sources":["../source/locale.test.js"],"sourcesContent":["import chooseLocale, { intlDateTimeFormatSupportedLocale } from './locale.js'\r\n\r\ndescribe('locale', () => {\r\n\tit(`should tell if can use Intl for date formatting`, () => {\r\n\t\tintlDateTimeFormatSupportedLocale('en').should.equal('en')\r\n\t\tintlDateTimeFormatSupportedLocale('en-XX').should.equal('en-XX')\r\n\t\tintlDateTimeFormatSupportedLocale(['en', 'ru']).should.equal('en')\r\n\t})\r\n\r\n\tit(`should choose the most appropriate locale`, () => {\r\n\t\tfunction arrayToObject(array) {\r\n\t\t\treturn array.reduce((object, locale) => {\r\n\t\t\t\tobject[locale] = true\r\n\t\t\t\treturn object\r\n\t\t\t}, {})\r\n\t\t}\r\n\r\n\t\tfunction choose(locale, locales, defaultLocale = 'en') {\r\n\t\t\tif (typeof locale === 'string') {\r\n\t\t\t\tlocale = [locale]\r\n\t\t\t}\r\n\t\t\tlocale = locale.concat(defaultLocale)\r\n\t\t\treturn chooseLocale(locale, _ => locales.includes(_))\r\n\t\t}\r\n\r\n\t\tchoose('ru-RU', ['en', 'ru']).should.equal('ru')\r\n\t\tchoose('en-GB', ['en', 'ru']).should.equal('en')\r\n\t\tchoose('fr-FR', ['en', 'ru']).should.equal('en')\r\n\t\tchoose(['fr-FR', 'de-DE'], ['en', 'ru']).should.equal('en')\r\n\t\tchoose(['fr-FR', 'de-DE'], ['en', 'de']).should.equal('de')\r\n\t\tchoose(['fr-FR', 'de-DE'], ['en', 'de', 'fr']).should.equal('fr')\r\n\t\tchoose('fr-FR', ['en', 'fr-FR']).should.equal('fr-FR')\r\n\r\n\t\texpect(() => choose('fr-FR', ['de', 'ru'])).to.throw(\r\n\t\t\t'No locale data has been registered for any of the locales: fr-FR'\r\n\t\t)\r\n\t})\r\n})"],"mappings":"AAAA,OAAOA,YAAY,IAAIC,iCAAiC,QAAQ,aAAa;AAE7EC,QAAQ,CAAC,QAAQ,EAAE,YAAM;EACxBC,EAAE,oDAAoD,YAAM;IAC3DF,iCAAiC,CAAC,IAAI,CAAC,CAACG,MAAM,CAACC,KAAK,CAAC,IAAI,CAAC;IAC1DJ,iCAAiC,CAAC,OAAO,CAAC,CAACG,MAAM,CAACC,KAAK,CAAC,OAAO,CAAC;IAChEJ,iCAAiC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAACG,MAAM,CAACC,KAAK,CAAC,IAAI,CAAC;EACnE,CAAC,CAAC;EAEFF,EAAE,8CAA8C,YAAM;IACrD,SAASG,aAAaA,CAACC,KAAK,EAAE;MAC7B,OAAOA,KAAK,CAACC,MAAM,CAAC,UAACC,MAAM,EAAEC,MAAM,EAAK;QACvCD,MAAM,CAACC,MAAM,CAAC,GAAG,IAAI;QACrB,OAAOD,MAAM;MACd,CAAC,EAAE,CAAC,CAAC,CAAC;IACP;IAEA,SAASE,MAAMA,CAACD,MAAM,EAAEE,OAAO,EAAwB;MAAA,IAAtBC,aAAa,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;MACpD,IAAI,OAAOJ,MAAM,KAAK,QAAQ,EAAE;QAC/BA,MAAM,GAAG,CAACA,MAAM,CAAC;MAClB;MACAA,MAAM,GAAGA,MAAM,CAACO,MAAM,CAACJ,aAAa,CAAC;MACrC,OAAOb,YAAY,CAACU,MAAM,EAAE,UAAAQ,CAAC;QAAA,OAAIN,OAAO,CAACO,QAAQ,CAACD,CAAC,CAAC;MAAA,EAAC;IACtD;IAEAP,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAACP,MAAM,CAACC,KAAK,CAAC,IAAI,CAAC;IAChDM,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAACP,MAAM,CAACC,KAAK,CAAC,IAAI,CAAC;IAChDM,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAACP,MAAM,CAACC,KAAK,CAAC,IAAI,CAAC;IAChDM,MAAM,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAACP,MAAM,CAACC,KAAK,CAAC,IAAI,CAAC;IAC3DM,MAAM,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAACP,MAAM,CAACC,KAAK,CAAC,IAAI,CAAC;IAC3DM,MAAM,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAACP,MAAM,CAACC,KAAK,CAAC,IAAI,CAAC;IACjEM,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAACP,MAAM,CAACC,KAAK,CAAC,OAAO,CAAC;IAEtDe,MAAM,CAAC;MAAA,OAAMT,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAAA,EAAC,CAACU,EAAE,SAAM,CACnD,kEACD,CAAC;EACF,CAAC,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"locale.test.js","names":["describe","it","expect","chooseLocale","intlDateTimeFormatSupportedLocale","to","equal","arrayToObject","array","reduce","object","locale","choose","locales","defaultLocale","arguments","length","undefined","concat","_","includes"],"sources":["../source/locale.test.js"],"sourcesContent":["import { describe, it } from 'mocha'\r\nimport { expect } from 'chai'\r\n\r\nimport chooseLocale, { intlDateTimeFormatSupportedLocale } from './locale.js'\r\n\r\ndescribe('locale', () => {\r\n\tit(`should tell if can use Intl for date formatting`, () => {\r\n\t\texpect(intlDateTimeFormatSupportedLocale('en')).to.equal('en')\r\n\t\texpect(intlDateTimeFormatSupportedLocale('en-XX')).to.equal('en-XX')\r\n\t\texpect(intlDateTimeFormatSupportedLocale(['en', 'ru'])).to.equal('en')\r\n\t})\r\n\r\n\tit(`should choose the most appropriate locale`, () => {\r\n\t\tfunction arrayToObject(array) {\r\n\t\t\treturn array.reduce((object, locale) => {\r\n\t\t\t\tobject[locale] = true\r\n\t\t\t\treturn object\r\n\t\t\t}, {})\r\n\t\t}\r\n\r\n\t\tfunction choose(locale, locales, defaultLocale = 'en') {\r\n\t\t\tif (typeof locale === 'string') {\r\n\t\t\t\tlocale = [locale]\r\n\t\t\t}\r\n\t\t\tlocale = locale.concat(defaultLocale)\r\n\t\t\treturn chooseLocale(locale, _ => locales.includes(_))\r\n\t\t}\r\n\r\n\t\texpect(choose('ru-RU', ['en', 'ru'])).to.equal('ru')\r\n\t\texpect(choose('en-GB', ['en', 'ru'])).to.equal('en')\r\n\t\texpect(choose('fr-FR', ['en', 'ru'])).to.equal('en')\r\n\t\texpect(choose(['fr-FR', 'de-DE'], ['en', 'ru'])).to.equal('en')\r\n\t\texpect(choose(['fr-FR', 'de-DE'], ['en', 'de'])).to.equal('de')\r\n\t\texpect(choose(['fr-FR', 'de-DE'], ['en', 'de', 'fr'])).to.equal('fr')\r\n\t\texpect(choose('fr-FR', ['en', 'fr-FR'])).to.equal('fr-FR')\r\n\r\n\t\texpect(() => choose('fr-FR', ['de', 'ru'])).to.throw(\r\n\t\t\t'No locale data has been registered for any of the locales: fr-FR'\r\n\t\t)\r\n\t})\r\n})"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,EAAE,QAAQ,OAAO;AACpC,SAASC,MAAM,QAAQ,MAAM;AAE7B,OAAOC,YAAY,IAAIC,iCAAiC,QAAQ,aAAa;AAE7EJ,QAAQ,CAAC,QAAQ,EAAE,YAAM;EACxBC,EAAE,oDAAoD,YAAM;IAC3DC,MAAM,CAACE,iCAAiC,CAAC,IAAI,CAAC,CAAC,CAACC,EAAE,CAACC,KAAK,CAAC,IAAI,CAAC;IAC9DJ,MAAM,CAACE,iCAAiC,CAAC,OAAO,CAAC,CAAC,CAACC,EAAE,CAACC,KAAK,CAAC,OAAO,CAAC;IACpEJ,MAAM,CAACE,iCAAiC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAACC,EAAE,CAACC,KAAK,CAAC,IAAI,CAAC;EACvE,CAAC,CAAC;EAEFL,EAAE,8CAA8C,YAAM;IACrD,SAASM,aAAaA,CAACC,KAAK,EAAE;MAC7B,OAAOA,KAAK,CAACC,MAAM,CAAC,UAACC,MAAM,EAAEC,MAAM,EAAK;QACvCD,MAAM,CAACC,MAAM,CAAC,GAAG,IAAI;QACrB,OAAOD,MAAM;MACd,CAAC,EAAE,CAAC,CAAC,CAAC;IACP;IAEA,SAASE,MAAMA,CAACD,MAAM,EAAEE,OAAO,EAAwB;MAAA,IAAtBC,aAAa,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;MACpD,IAAI,OAAOJ,MAAM,KAAK,QAAQ,EAAE;QAC/BA,MAAM,GAAG,CAACA,MAAM,CAAC;MAClB;MACAA,MAAM,GAAGA,MAAM,CAACO,MAAM,CAACJ,aAAa,CAAC;MACrC,OAAOX,YAAY,CAACQ,MAAM,EAAE,UAAAQ,CAAC;QAAA,OAAIN,OAAO,CAACO,QAAQ,CAACD,CAAC,CAAC;MAAA,EAAC;IACtD;IAEAjB,MAAM,CAACU,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAACP,EAAE,CAACC,KAAK,CAAC,IAAI,CAAC;IACpDJ,MAAM,CAACU,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAACP,EAAE,CAACC,KAAK,CAAC,IAAI,CAAC;IACpDJ,MAAM,CAACU,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAACP,EAAE,CAACC,KAAK,CAAC,IAAI,CAAC;IACpDJ,MAAM,CAACU,MAAM,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAACP,EAAE,CAACC,KAAK,CAAC,IAAI,CAAC;IAC/DJ,MAAM,CAACU,MAAM,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAACP,EAAE,CAACC,KAAK,CAAC,IAAI,CAAC;IAC/DJ,MAAM,CAACU,MAAM,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAACP,EAAE,CAACC,KAAK,CAAC,IAAI,CAAC;IACrEJ,MAAM,CAACU,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAACP,EAAE,CAACC,KAAK,CAAC,OAAO,CAAC;IAE1DJ,MAAM,CAAC;MAAA,OAAMU,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAAA,EAAC,CAACP,EAAE,SAAM,CACnD,kEACD,CAAC;EACF,CAAC,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
@@ -1,3 +1,5 @@
1
+ import { describe, it } from 'mocha';
2
+ import { expect } from 'chai';
1
3
  import getStep from './getStep.js';
2
4
  import steps from './approximate.js';
3
5
  describe('steps/approximate', function () {
@@ -1 +1 @@
1
- {"version":3,"file":"approximate.test.js","names":["getStep","steps","describe","it","getStepFor","secondsPassed","now","units","expect","unit","to","equal","factor","granularity","be","undefined"],"sources":["../../source/steps/approximate.test.js"],"sourcesContent":["import getStep from './getStep.js'\r\nimport steps from './approximate.js'\r\n\r\ndescribe('steps/approximate', () => {\r\n\tit('should get step correctly', () => {\r\n\t\tconst getStepFor = (secondsPassed) => getStep(steps, secondsPassed, {\r\n\t\t\tnow: 0,\r\n\t\t\tunits: [\r\n\t\t\t\t'now',\r\n\t\t\t\t'second',\r\n\t\t\t\t'minute',\r\n\t\t\t\t'hour',\r\n\t\t\t\t'day',\r\n\t\t\t\t'week',\r\n\t\t\t\t'month',\r\n\t\t\t\t'year'\r\n\t\t\t]\r\n\t\t})\r\n\r\n\t\texpect(getStepFor(0).unit).to.equal('now')\r\n\t\texpect(getStepFor(1).unit).to.equal('now')\r\n\t\texpect(getStepFor(45).unit).to.equal('now')\r\n\r\n\t\texpect(getStepFor(46).unit).to.equal('minute')\r\n\t\texpect(getStepFor(46).factor).to.equal(60)\r\n\t\texpect(getStepFor(46).granularity).to.be.undefined\r\n\r\n\t\texpect(getStepFor(2.5 * 60 - 1).unit).to.equal('minute')\r\n\t\texpect(getStepFor(2.5 * 60 - 1).factor).to.equal(60)\r\n\t\texpect(getStepFor(2.5 * 60 - 1).granularity).to.be.undefined\r\n\r\n\t\texpect(getStepFor(2.5 * 60).unit).to.equal('minute')\r\n\t\texpect(getStepFor(2.5 * 60).factor).to.equal(60)\r\n\t\texpect(getStepFor(2.5 * 60).granularity).to.equal(5)\r\n\r\n\t\texpect(getStepFor(52.5 * 60 - 1).unit).to.equal('minute')\r\n\t\texpect(getStepFor(52.5 * 60 - 1).factor).to.equal(60)\r\n\t\texpect(getStepFor(52.5 * 60 - 1).granularity).to.equal(5)\r\n\r\n\t\texpect(getStepFor(52.5 * 60).unit).to.equal('hour')\r\n\t\texpect(getStepFor(52.5 * 60).factor).to.equal(60 * 60)\r\n\t})\r\n\r\n\tit('should get step correctly (\"now\" unit not allowed)', () => {\r\n\t\tconst getStepFor = (secondsPassed) => getStep(steps, secondsPassed, {\r\n\t\t\tnow: 0,\r\n\t\t\tunits: [\r\n\t\t\t\t'second',\r\n\t\t\t\t'minute',\r\n\t\t\t\t'hour',\r\n\t\t\t\t'day',\r\n\t\t\t\t'week',\r\n\t\t\t\t'month',\r\n\t\t\t\t'year'\r\n\t\t\t]\r\n\t\t})\r\n\r\n\t\texpect(getStepFor(0)).to.be.undefined\r\n\t\texpect(getStepFor(1).unit).to.equal('second')\r\n\t\texpect(getStepFor(45).unit).to.equal('second')\r\n\t\texpect(getStepFor(46).unit).to.equal('minute')\r\n\t})\r\n})"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"approximate.test.js","names":["describe","it","expect","getStep","steps","getStepFor","secondsPassed","now","units","unit","to","equal","factor","granularity","be","undefined"],"sources":["../../source/steps/approximate.test.js"],"sourcesContent":["import { describe, it } from 'mocha'\r\nimport { expect } from 'chai'\r\n\r\nimport getStep from './getStep.js'\r\nimport steps from './approximate.js'\r\n\r\ndescribe('steps/approximate', () => {\r\n\tit('should get step correctly', () => {\r\n\t\tconst getStepFor = (secondsPassed) => getStep(steps, secondsPassed, {\r\n\t\t\tnow: 0,\r\n\t\t\tunits: [\r\n\t\t\t\t'now',\r\n\t\t\t\t'second',\r\n\t\t\t\t'minute',\r\n\t\t\t\t'hour',\r\n\t\t\t\t'day',\r\n\t\t\t\t'week',\r\n\t\t\t\t'month',\r\n\t\t\t\t'year'\r\n\t\t\t]\r\n\t\t})\r\n\r\n\t\texpect(getStepFor(0).unit).to.equal('now')\r\n\t\texpect(getStepFor(1).unit).to.equal('now')\r\n\t\texpect(getStepFor(45).unit).to.equal('now')\r\n\r\n\t\texpect(getStepFor(46).unit).to.equal('minute')\r\n\t\texpect(getStepFor(46).factor).to.equal(60)\r\n\t\texpect(getStepFor(46).granularity).to.be.undefined\r\n\r\n\t\texpect(getStepFor(2.5 * 60 - 1).unit).to.equal('minute')\r\n\t\texpect(getStepFor(2.5 * 60 - 1).factor).to.equal(60)\r\n\t\texpect(getStepFor(2.5 * 60 - 1).granularity).to.be.undefined\r\n\r\n\t\texpect(getStepFor(2.5 * 60).unit).to.equal('minute')\r\n\t\texpect(getStepFor(2.5 * 60).factor).to.equal(60)\r\n\t\texpect(getStepFor(2.5 * 60).granularity).to.equal(5)\r\n\r\n\t\texpect(getStepFor(52.5 * 60 - 1).unit).to.equal('minute')\r\n\t\texpect(getStepFor(52.5 * 60 - 1).factor).to.equal(60)\r\n\t\texpect(getStepFor(52.5 * 60 - 1).granularity).to.equal(5)\r\n\r\n\t\texpect(getStepFor(52.5 * 60).unit).to.equal('hour')\r\n\t\texpect(getStepFor(52.5 * 60).factor).to.equal(60 * 60)\r\n\t})\r\n\r\n\tit('should get step correctly (\"now\" unit not allowed)', () => {\r\n\t\tconst getStepFor = (secondsPassed) => getStep(steps, secondsPassed, {\r\n\t\t\tnow: 0,\r\n\t\t\tunits: [\r\n\t\t\t\t'second',\r\n\t\t\t\t'minute',\r\n\t\t\t\t'hour',\r\n\t\t\t\t'day',\r\n\t\t\t\t'week',\r\n\t\t\t\t'month',\r\n\t\t\t\t'year'\r\n\t\t\t]\r\n\t\t})\r\n\r\n\t\texpect(getStepFor(0)).to.be.undefined\r\n\t\texpect(getStepFor(1).unit).to.equal('second')\r\n\t\texpect(getStepFor(45).unit).to.equal('second')\r\n\t\texpect(getStepFor(46).unit).to.equal('minute')\r\n\t})\r\n})"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,EAAE,QAAQ,OAAO;AACpC,SAASC,MAAM,QAAQ,MAAM;AAE7B,OAAOC,OAAO,MAAM,cAAc;AAClC,OAAOC,KAAK,MAAM,kBAAkB;AAEpCJ,QAAQ,CAAC,mBAAmB,EAAE,YAAM;EACnCC,EAAE,CAAC,2BAA2B,EAAE,YAAM;IACrC,IAAMI,UAAU,GAAG,SAAbA,UAAUA,CAAIC,aAAa;MAAA,OAAKH,OAAO,CAACC,KAAK,EAAEE,aAAa,EAAE;QACnEC,GAAG,EAAE,CAAC;QACNC,KAAK,EAAE,CACN,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,KAAK,EACL,MAAM,EACN,OAAO,EACP,MAAM;MAER,CAAC,CAAC;IAAA;IAEFN,MAAM,CAACG,UAAU,CAAC,CAAC,CAAC,CAACI,IAAI,CAAC,CAACC,EAAE,CAACC,KAAK,CAAC,KAAK,CAAC;IAC1CT,MAAM,CAACG,UAAU,CAAC,CAAC,CAAC,CAACI,IAAI,CAAC,CAACC,EAAE,CAACC,KAAK,CAAC,KAAK,CAAC;IAC1CT,MAAM,CAACG,UAAU,CAAC,EAAE,CAAC,CAACI,IAAI,CAAC,CAACC,EAAE,CAACC,KAAK,CAAC,KAAK,CAAC;IAE3CT,MAAM,CAACG,UAAU,CAAC,EAAE,CAAC,CAACI,IAAI,CAAC,CAACC,EAAE,CAACC,KAAK,CAAC,QAAQ,CAAC;IAC9CT,MAAM,CAACG,UAAU,CAAC,EAAE,CAAC,CAACO,MAAM,CAAC,CAACF,EAAE,CAACC,KAAK,CAAC,EAAE,CAAC;IAC1CT,MAAM,CAACG,UAAU,CAAC,EAAE,CAAC,CAACQ,WAAW,CAAC,CAACH,EAAE,CAACI,EAAE,CAACC,SAAS;IAElDb,MAAM,CAACG,UAAU,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,CAACI,IAAI,CAAC,CAACC,EAAE,CAACC,KAAK,CAAC,QAAQ,CAAC;IACxDT,MAAM,CAACG,UAAU,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,CAACO,MAAM,CAAC,CAACF,EAAE,CAACC,KAAK,CAAC,EAAE,CAAC;IACpDT,MAAM,CAACG,UAAU,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,CAACQ,WAAW,CAAC,CAACH,EAAE,CAACI,EAAE,CAACC,SAAS;IAE5Db,MAAM,CAACG,UAAU,CAAC,GAAG,GAAG,EAAE,CAAC,CAACI,IAAI,CAAC,CAACC,EAAE,CAACC,KAAK,CAAC,QAAQ,CAAC;IACpDT,MAAM,CAACG,UAAU,CAAC,GAAG,GAAG,EAAE,CAAC,CAACO,MAAM,CAAC,CAACF,EAAE,CAACC,KAAK,CAAC,EAAE,CAAC;IAChDT,MAAM,CAACG,UAAU,CAAC,GAAG,GAAG,EAAE,CAAC,CAACQ,WAAW,CAAC,CAACH,EAAE,CAACC,KAAK,CAAC,CAAC,CAAC;IAEpDT,MAAM,CAACG,UAAU,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,CAACI,IAAI,CAAC,CAACC,EAAE,CAACC,KAAK,CAAC,QAAQ,CAAC;IACzDT,MAAM,CAACG,UAAU,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,CAACO,MAAM,CAAC,CAACF,EAAE,CAACC,KAAK,CAAC,EAAE,CAAC;IACrDT,MAAM,CAACG,UAAU,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,CAACQ,WAAW,CAAC,CAACH,EAAE,CAACC,KAAK,CAAC,CAAC,CAAC;IAEzDT,MAAM,CAACG,UAAU,CAAC,IAAI,GAAG,EAAE,CAAC,CAACI,IAAI,CAAC,CAACC,EAAE,CAACC,KAAK,CAAC,MAAM,CAAC;IACnDT,MAAM,CAACG,UAAU,CAAC,IAAI,GAAG,EAAE,CAAC,CAACO,MAAM,CAAC,CAACF,EAAE,CAACC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;EACvD,CAAC,CAAC;EAEFV,EAAE,CAAC,oDAAoD,EAAE,YAAM;IAC9D,IAAMI,UAAU,GAAG,SAAbA,UAAUA,CAAIC,aAAa;MAAA,OAAKH,OAAO,CAACC,KAAK,EAAEE,aAAa,EAAE;QACnEC,GAAG,EAAE,CAAC;QACNC,KAAK,EAAE,CACN,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,KAAK,EACL,MAAM,EACN,OAAO,EACP,MAAM;MAER,CAAC,CAAC;IAAA;IAEFN,MAAM,CAACG,UAAU,CAAC,CAAC,CAAC,CAAC,CAACK,EAAE,CAACI,EAAE,CAACC,SAAS;IACrCb,MAAM,CAACG,UAAU,CAAC,CAAC,CAAC,CAACI,IAAI,CAAC,CAACC,EAAE,CAACC,KAAK,CAAC,QAAQ,CAAC;IAC7CT,MAAM,CAACG,UAAU,CAAC,EAAE,CAAC,CAACI,IAAI,CAAC,CAACC,EAAE,CAACC,KAAK,CAAC,QAAQ,CAAC;IAC9CT,MAAM,CAACG,UAAU,CAAC,EAAE,CAAC,CAACI,IAAI,CAAC,CAACC,EAAE,CAACC,KAAK,CAAC,QAAQ,CAAC;EAC/C,CAAC,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
@@ -1,3 +1,5 @@
1
+ import { describe, it } from 'mocha';
2
+ import { expect } from 'chai';
1
3
  import getStep from './getStep.js';
2
4
  import round from './round.js';
3
5
  describe('getStep', function () {
@@ -19,21 +21,21 @@ describe('getStep', function () {
19
21
 
20
22
  it('should fall back to previous step if granularity is too high for the next step', function () {
21
23
  var steps = round.slice();
22
- steps[1].formatAs.should.equal('second');
24
+ expect(steps[1].formatAs).to.equal('second');
23
25
  steps[1].granularity = 3;
24
- getStep(steps, 1.49, {
26
+ expect(getStep(steps, 1.49, {
25
27
  now: 0,
26
28
  units: ['now', 'second']
27
- }).formatAs.should.equal('now');
29
+ }).formatAs).to.equal('now');
28
30
 
29
31
  // And if there's no previous step, then use the current one.
30
32
 
31
33
  var firstStep = steps[0];
32
34
  steps.splice(0, 1);
33
- getStep(steps, 1.49, {
35
+ expect(getStep(steps, 1.49, {
34
36
  now: 0,
35
37
  units: ['now', 'second']
36
- }).formatAs.should.equal('second');
38
+ }).formatAs).to.equal('second');
37
39
  steps.unshift(firstStep);
38
40
  delete steps[1].granularity;
39
41
  });
@@ -1 +1 @@
1
- {"version":3,"file":"getStep.test.js","names":["getStep","round","describe","it","expect","units","to","be","undefined","steps","slice","formatAs","should","equal","granularity","now","firstStep","splice","unshift","unit","minTime","id","seconds","threshold"],"sources":["../../source/steps/getStep.test.js"],"sourcesContent":["import getStep from './getStep.js'\r\nimport round from './round.js'\r\n\r\ndescribe('getStep', () => {\r\n\tit('should return nothing if no time units are supported', () => {\r\n\t\texpect(getStep(round, 0, { units: ['femtosecond'] })).to.be.undefined\r\n\t})\r\n\r\n\t// it('should throw if a non-first step does not have a `minTime` or `test()`', () => {\r\n\t// \texpect(getStep([{ unit: 'second' }], 2, { units: ['second'] })).to.deep.equal({ unit: 'second' })\r\n\t//\r\n\t// \texpect(() => {\r\n\t// \t\tgetStep([{ unit: 'second' }, { unit: 'minute' }], 2, { units: ['second', 'minute'] })\r\n\t// \t}).to.throw(\r\n\t// \t\t'Each step must define either `minTime` or `test()`, except for the first one. Got \"undefined\", undefined. Step: {\"unit\":\"minute\"}'\r\n\t// \t)\r\n\t// })\r\n\r\n\tit('should fall back to previous step if granularity is too high for the next step', () => {\r\n\t\tconst steps = round.slice()\r\n\r\n\t\tsteps[1].formatAs.should.equal('second')\r\n\t\tsteps[1].granularity = 3\r\n\r\n\t\tgetStep(steps, 1.49, { now: 0, units: ['now', 'second'] }).formatAs.should.equal('now')\r\n\r\n\t\t// And if there's no previous step, then use the current one.\r\n\r\n\t\tconst firstStep = steps[0]\r\n\t\tsteps.splice(0, 1)\r\n\r\n\t\tgetStep(steps, 1.49, { now: 0, units: ['now', 'second'] }).formatAs.should.equal('second')\r\n\r\n\t\tsteps.unshift(firstStep)\r\n\r\n\t\tdelete steps[1].granularity\r\n\t})\r\n\r\n\tit('should support `minTime` object', () => {\r\n\t\texpect(getStep(\r\n\t\t\t[\r\n\t\t\t\t{ unit: 'second' },\r\n\t\t\t\t{\r\n\t\t\t\t\tminTime: { default: 10 },\r\n\t\t\t\t\tunit: 'minute'\r\n\t\t\t\t}\r\n\t\t\t],\r\n\t\t\t5,\r\n\t\t\t{ now: 0, units: ['second', 'minute'] }\r\n\t\t).unit).to.equal('second')\r\n\r\n\t\texpect(getStep(\r\n\t\t\t[\r\n\t\t\t\t{ unit: 'second' },\r\n\t\t\t\t{\r\n\t\t\t\t\tminTime: { default: 10 },\r\n\t\t\t\t\tunit: 'minute'\r\n\t\t\t\t}\r\n\t\t\t],\r\n\t\t\t10,\r\n\t\t\t{ now: 0, units: ['second', 'minute'] }\r\n\t\t).unit).to.equal('minute')\r\n\r\n\t\texpect(getStep(\r\n\t\t\t[\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 'seconds',\r\n\t\t\t\t\tunit: 'second'\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tminTime: {\r\n\t\t\t\t\t\tseconds: 20,\r\n\t\t\t\t\t\tdefault: 10\r\n\t\t\t\t\t},\r\n\t\t\t\t\tunit: 'minute'\r\n\t\t\t\t}\r\n\t\t\t],\r\n\t\t\t10,\r\n\t\t\t{ now: 0, units: ['second', 'minute'] }\r\n\t\t).unit).to.equal('second')\r\n\t})\r\n\r\n\tit('should support legacy `threshold()` function', () => {\r\n\t\texpect(getStep(\r\n\t\t\t[\r\n\t\t\t\t{ unit: 'second' },\r\n\t\t\t\t{\r\n\t\t\t\t\tthreshold: () => 10,\r\n\t\t\t\t\tunit: 'minute'\r\n\t\t\t\t}\r\n\t\t\t],\r\n\t\t\t5,\r\n\t\t\t{ now: 0, units: ['second', 'minute'] }\r\n\t\t).unit).to.equal('second')\r\n\r\n\t\texpect(getStep(\r\n\t\t\t[\r\n\t\t\t\t{ unit: 'second' },\r\n\t\t\t\t{\r\n\t\t\t\t\tthreshold: () => 10,\r\n\t\t\t\t\tunit: 'minute'\r\n\t\t\t\t}\r\n\t\t\t],\r\n\t\t\t10,\r\n\t\t\t{ now: 0, units: ['second', 'minute'] }\r\n\t\t).unit).to.equal('minute')\r\n\t})\r\n\r\n\tit('should stop when reaching a step that has no \"minTime\" and for which \"minTime\" could not be deduced', () => {\r\n\t\texpect(getStep(\r\n\t\t\t[\r\n\t\t\t\t{ formatAs: 'second' },\r\n\t\t\t\t{ formatAs: 'unsupported-time-unit' }\r\n\t\t\t],\r\n\t\t\t10,\r\n\t\t\t{ now: 0, units: ['second', 'unsupported-time-unit'] }\r\n\t\t).formatAs).to.equal('second')\r\n\t})\r\n})"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"getStep.test.js","names":["describe","it","expect","getStep","round","units","to","be","undefined","steps","slice","formatAs","equal","granularity","now","firstStep","splice","unshift","unit","minTime","id","seconds","threshold"],"sources":["../../source/steps/getStep.test.js"],"sourcesContent":["import { describe, it } from 'mocha'\r\nimport { expect } from 'chai'\r\n\r\nimport getStep from './getStep.js'\r\nimport round from './round.js'\r\n\r\ndescribe('getStep', () => {\r\n\tit('should return nothing if no time units are supported', () => {\r\n\t\texpect(getStep(round, 0, { units: ['femtosecond'] })).to.be.undefined\r\n\t})\r\n\r\n\t// it('should throw if a non-first step does not have a `minTime` or `test()`', () => {\r\n\t// \texpect(getStep([{ unit: 'second' }], 2, { units: ['second'] })).to.deep.equal({ unit: 'second' })\r\n\t//\r\n\t// \texpect(() => {\r\n\t// \t\tgetStep([{ unit: 'second' }, { unit: 'minute' }], 2, { units: ['second', 'minute'] })\r\n\t// \t}).to.throw(\r\n\t// \t\t'Each step must define either `minTime` or `test()`, except for the first one. Got \"undefined\", undefined. Step: {\"unit\":\"minute\"}'\r\n\t// \t)\r\n\t// })\r\n\r\n\tit('should fall back to previous step if granularity is too high for the next step', () => {\r\n\t\tconst steps = round.slice()\r\n\r\n\t\texpect(steps[1].formatAs).to.equal('second')\r\n\t\tsteps[1].granularity = 3\r\n\r\n\t\texpect(getStep(steps, 1.49, { now: 0, units: ['now', 'second'] }).formatAs).to.equal('now')\r\n\r\n\t\t// And if there's no previous step, then use the current one.\r\n\r\n\t\tconst firstStep = steps[0]\r\n\t\tsteps.splice(0, 1)\r\n\r\n\t\texpect(getStep(steps, 1.49, { now: 0, units: ['now', 'second'] }).formatAs).to.equal('second')\r\n\r\n\t\tsteps.unshift(firstStep)\r\n\r\n\t\tdelete steps[1].granularity\r\n\t})\r\n\r\n\tit('should support `minTime` object', () => {\r\n\t\texpect(getStep(\r\n\t\t\t[\r\n\t\t\t\t{ unit: 'second' },\r\n\t\t\t\t{\r\n\t\t\t\t\tminTime: { default: 10 },\r\n\t\t\t\t\tunit: 'minute'\r\n\t\t\t\t}\r\n\t\t\t],\r\n\t\t\t5,\r\n\t\t\t{ now: 0, units: ['second', 'minute'] }\r\n\t\t).unit).to.equal('second')\r\n\r\n\t\texpect(getStep(\r\n\t\t\t[\r\n\t\t\t\t{ unit: 'second' },\r\n\t\t\t\t{\r\n\t\t\t\t\tminTime: { default: 10 },\r\n\t\t\t\t\tunit: 'minute'\r\n\t\t\t\t}\r\n\t\t\t],\r\n\t\t\t10,\r\n\t\t\t{ now: 0, units: ['second', 'minute'] }\r\n\t\t).unit).to.equal('minute')\r\n\r\n\t\texpect(getStep(\r\n\t\t\t[\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 'seconds',\r\n\t\t\t\t\tunit: 'second'\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tminTime: {\r\n\t\t\t\t\t\tseconds: 20,\r\n\t\t\t\t\t\tdefault: 10\r\n\t\t\t\t\t},\r\n\t\t\t\t\tunit: 'minute'\r\n\t\t\t\t}\r\n\t\t\t],\r\n\t\t\t10,\r\n\t\t\t{ now: 0, units: ['second', 'minute'] }\r\n\t\t).unit).to.equal('second')\r\n\t})\r\n\r\n\tit('should support legacy `threshold()` function', () => {\r\n\t\texpect(getStep(\r\n\t\t\t[\r\n\t\t\t\t{ unit: 'second' },\r\n\t\t\t\t{\r\n\t\t\t\t\tthreshold: () => 10,\r\n\t\t\t\t\tunit: 'minute'\r\n\t\t\t\t}\r\n\t\t\t],\r\n\t\t\t5,\r\n\t\t\t{ now: 0, units: ['second', 'minute'] }\r\n\t\t).unit).to.equal('second')\r\n\r\n\t\texpect(getStep(\r\n\t\t\t[\r\n\t\t\t\t{ unit: 'second' },\r\n\t\t\t\t{\r\n\t\t\t\t\tthreshold: () => 10,\r\n\t\t\t\t\tunit: 'minute'\r\n\t\t\t\t}\r\n\t\t\t],\r\n\t\t\t10,\r\n\t\t\t{ now: 0, units: ['second', 'minute'] }\r\n\t\t).unit).to.equal('minute')\r\n\t})\r\n\r\n\tit('should stop when reaching a step that has no \"minTime\" and for which \"minTime\" could not be deduced', () => {\r\n\t\texpect(getStep(\r\n\t\t\t[\r\n\t\t\t\t{ formatAs: 'second' },\r\n\t\t\t\t{ formatAs: 'unsupported-time-unit' }\r\n\t\t\t],\r\n\t\t\t10,\r\n\t\t\t{ now: 0, units: ['second', 'unsupported-time-unit'] }\r\n\t\t).formatAs).to.equal('second')\r\n\t})\r\n})"],"mappings":"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","ignoreList":[]}
@@ -1,14 +1,16 @@
1
+ import { describe, it } from 'mocha';
2
+ import { expect } from 'chai';
1
3
  import getStepDenominator from './getStepDenominator.js';
2
4
  describe('getStepDenominator', function () {
3
5
  it('should support the older "unit" name', function () {
4
- getStepDenominator({
6
+ expect(getStepDenominator({
5
7
  unit: 'minute'
6
- }).should.equal(60);
8
+ })).to.equal(60);
7
9
  });
8
10
  it('should return 1 as a default "denominator"', function () {
9
- getStepDenominator({
11
+ expect(getStepDenominator({
10
12
  formatAs: 'exotic'
11
- }).should.equal(1);
13
+ })).to.equal(1);
12
14
  });
13
15
  });
14
16
  //# sourceMappingURL=getStepDenominator.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getStepDenominator.test.js","names":["getStepDenominator","describe","it","unit","should","equal","formatAs"],"sources":["../../source/steps/getStepDenominator.test.js"],"sourcesContent":["import getStepDenominator from './getStepDenominator.js'\r\n\r\ndescribe('getStepDenominator', () => {\r\n\tit('should support the older \"unit\" name', () => {\r\n\t\tgetStepDenominator({ unit: 'minute' }).should.equal(60)\r\n\t})\r\n\r\n\tit('should return 1 as a default \"denominator\"', () => {\r\n\t\tgetStepDenominator({ formatAs: 'exotic' }).should.equal(1)\r\n\t})\r\n})"],"mappings":"AAAA,OAAOA,kBAAkB,MAAM,yBAAyB;AAExDC,QAAQ,CAAC,oBAAoB,EAAE,YAAM;EACpCC,EAAE,CAAC,sCAAsC,EAAE,YAAM;IAChDF,kBAAkB,CAAC;MAAEG,IAAI,EAAE;IAAS,CAAC,CAAC,CAACC,MAAM,CAACC,KAAK,CAAC,EAAE,CAAC;EACxD,CAAC,CAAC;EAEFH,EAAE,CAAC,4CAA4C,EAAE,YAAM;IACtDF,kBAAkB,CAAC;MAAEM,QAAQ,EAAE;IAAS,CAAC,CAAC,CAACF,MAAM,CAACC,KAAK,CAAC,CAAC,CAAC;EAC3D,CAAC,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"getStepDenominator.test.js","names":["describe","it","expect","getStepDenominator","unit","to","equal","formatAs"],"sources":["../../source/steps/getStepDenominator.test.js"],"sourcesContent":["import { describe, it } from 'mocha'\r\nimport { expect } from 'chai'\r\n\r\nimport getStepDenominator from './getStepDenominator.js'\r\n\r\ndescribe('getStepDenominator', () => {\r\n\tit('should support the older \"unit\" name', () => {\r\n\t\texpect(getStepDenominator({ unit: 'minute' })).to.equal(60)\r\n\t})\r\n\r\n\tit('should return 1 as a default \"denominator\"', () => {\r\n\t\texpect(getStepDenominator({ formatAs: 'exotic' })).to.equal(1)\r\n\t})\r\n})"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,EAAE,QAAQ,OAAO;AACpC,SAASC,MAAM,QAAQ,MAAM;AAE7B,OAAOC,kBAAkB,MAAM,yBAAyB;AAExDH,QAAQ,CAAC,oBAAoB,EAAE,YAAM;EACpCC,EAAE,CAAC,sCAAsC,EAAE,YAAM;IAChDC,MAAM,CAACC,kBAAkB,CAAC;MAAEC,IAAI,EAAE;IAAS,CAAC,CAAC,CAAC,CAACC,EAAE,CAACC,KAAK,CAAC,EAAE,CAAC;EAC5D,CAAC,CAAC;EAEFL,EAAE,CAAC,4CAA4C,EAAE,YAAM;IACtDC,MAAM,CAACC,kBAAkB,CAAC;MAAEI,QAAQ,EAAE;IAAS,CAAC,CAAC,CAAC,CAACF,EAAE,CAACC,KAAK,CAAC,CAAC,CAAC;EAC/D,CAAC,CAAC;AACH,CAAC,CAAC","ignoreList":[]}