javascript-time-ago 2.5.7 → 2.5.10

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 (365) hide show
  1. package/CODE_OF_CONDUCT.md +78 -0
  2. package/bin/generate-locale-messages.js +1 -1
  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/TimeAgo.test.js.map +1 -1
  8. package/load-all-locales/index.cjs +8 -0
  9. package/load-all-locales/index.cjs.js +8 -0
  10. package/load-all-locales/index.js +16 -0
  11. package/locale/af.json.d.ts +1 -1
  12. package/locale/am.json.d.ts +1 -1
  13. package/locale/ar-AE.json.d.ts +1 -1
  14. package/locale/ar.json.d.ts +1 -1
  15. package/locale/as.json.d.ts +1 -1
  16. package/locale/ast.json.d.ts +1 -1
  17. package/locale/az.json.d.ts +1 -1
  18. package/locale/be.json.d.ts +1 -1
  19. package/locale/bg.json.d.ts +1 -1
  20. package/locale/bgc/package.json +16 -0
  21. package/locale/bgc.json +159 -0
  22. package/locale/bgc.json.d.ts +4 -0
  23. package/locale/bgc.json.js +159 -0
  24. package/locale/bn.json.d.ts +1 -1
  25. package/locale/br.json.d.ts +1 -1
  26. package/locale/brx.json +66 -66
  27. package/locale/brx.json.d.ts +1 -1
  28. package/locale/brx.json.js +66 -66
  29. package/locale/bs-Cyrl.json.d.ts +1 -1
  30. package/locale/bs.json.d.ts +1 -1
  31. package/locale/ca.json.d.ts +1 -1
  32. package/locale/ccp.json.d.ts +1 -1
  33. package/locale/ce.json.d.ts +1 -1
  34. package/locale/ceb.json.d.ts +1 -1
  35. package/locale/chr.json.d.ts +1 -1
  36. package/locale/cs.json.d.ts +1 -1
  37. package/locale/cv/package.json +16 -0
  38. package/locale/cv.json +159 -0
  39. package/locale/cv.json.d.ts +4 -0
  40. package/locale/cv.json.js +159 -0
  41. package/locale/cy.json.d.ts +1 -1
  42. package/locale/da.json.d.ts +1 -1
  43. package/locale/de.json.d.ts +1 -1
  44. package/locale/dsb.json +6 -6
  45. package/locale/dsb.json.d.ts +1 -1
  46. package/locale/dsb.json.js +6 -6
  47. package/locale/dz.json.d.ts +1 -1
  48. package/locale/ee.json.d.ts +1 -1
  49. package/locale/el.json.d.ts +1 -1
  50. package/locale/en-001.json.d.ts +1 -1
  51. package/locale/en-150.json.d.ts +1 -1
  52. package/locale/en-AG.json.d.ts +1 -1
  53. package/locale/en-AI.json.d.ts +1 -1
  54. package/locale/en-AT.json.d.ts +1 -1
  55. package/locale/en-AU.json +1 -1
  56. package/locale/en-AU.json.d.ts +1 -1
  57. package/locale/en-AU.json.js +1 -1
  58. package/locale/en-BB.json.d.ts +1 -1
  59. package/locale/en-BE.json.d.ts +1 -1
  60. package/locale/en-BM.json.d.ts +1 -1
  61. package/locale/en-BS.json.d.ts +1 -1
  62. package/locale/en-BW.json.d.ts +1 -1
  63. package/locale/en-BZ.json.d.ts +1 -1
  64. package/locale/en-CA.json +2 -8
  65. package/locale/en-CA.json.d.ts +1 -1
  66. package/locale/en-CA.json.js +2 -8
  67. package/locale/en-CC.json.d.ts +1 -1
  68. package/locale/en-CH.json.d.ts +1 -1
  69. package/locale/en-CK.json.d.ts +1 -1
  70. package/locale/en-CM.json.d.ts +1 -1
  71. package/locale/en-CX.json.d.ts +1 -1
  72. package/locale/en-CY.json.d.ts +1 -1
  73. package/locale/en-DE.json.d.ts +1 -1
  74. package/locale/en-DG.json.d.ts +1 -1
  75. package/locale/en-DK.json.d.ts +1 -1
  76. package/locale/en-DM.json.d.ts +1 -1
  77. package/locale/en-ER.json.d.ts +1 -1
  78. package/locale/en-FI.json.d.ts +1 -1
  79. package/locale/en-FJ.json.d.ts +1 -1
  80. package/locale/en-FK.json.d.ts +1 -1
  81. package/locale/en-FM.json.d.ts +1 -1
  82. package/locale/en-GB.json.d.ts +1 -1
  83. package/locale/en-GD.json.d.ts +1 -1
  84. package/locale/en-GG.json.d.ts +1 -1
  85. package/locale/en-GH.json.d.ts +1 -1
  86. package/locale/en-GI.json.d.ts +1 -1
  87. package/locale/en-GM.json.d.ts +1 -1
  88. package/locale/en-GY.json.d.ts +1 -1
  89. package/locale/en-HK.json.d.ts +1 -1
  90. package/locale/en-IE.json.d.ts +1 -1
  91. package/locale/en-IL.json.d.ts +1 -1
  92. package/locale/en-IM.json.d.ts +1 -1
  93. package/locale/en-IN.json.d.ts +1 -1
  94. package/locale/en-IO.json.d.ts +1 -1
  95. package/locale/en-JE.json.d.ts +1 -1
  96. package/locale/en-JM.json.d.ts +1 -1
  97. package/locale/en-KE.json.d.ts +1 -1
  98. package/locale/en-KI.json.d.ts +1 -1
  99. package/locale/en-KN.json.d.ts +1 -1
  100. package/locale/en-KY.json.d.ts +1 -1
  101. package/locale/en-LC.json.d.ts +1 -1
  102. package/locale/en-LR.json.d.ts +1 -1
  103. package/locale/en-LS.json.d.ts +1 -1
  104. package/locale/en-MG.json.d.ts +1 -1
  105. package/locale/en-MO.json.d.ts +1 -1
  106. package/locale/en-MS.json.d.ts +1 -1
  107. package/locale/en-MT.json.d.ts +1 -1
  108. package/locale/en-MU.json.d.ts +1 -1
  109. package/locale/en-MV.json.d.ts +1 -1
  110. package/locale/en-MW.json.d.ts +1 -1
  111. package/locale/en-MY.json.d.ts +1 -1
  112. package/locale/en-NA.json.d.ts +1 -1
  113. package/locale/en-NF.json.d.ts +1 -1
  114. package/locale/en-NG.json.d.ts +1 -1
  115. package/locale/en-NL.json.d.ts +1 -1
  116. package/locale/en-NR.json.d.ts +1 -1
  117. package/locale/en-NU.json.d.ts +1 -1
  118. package/locale/en-NZ.json.d.ts +1 -1
  119. package/locale/en-PG.json.d.ts +1 -1
  120. package/locale/en-PK.json.d.ts +1 -1
  121. package/locale/en-PN.json.d.ts +1 -1
  122. package/locale/en-PW.json.d.ts +1 -1
  123. package/locale/en-RW.json.d.ts +1 -1
  124. package/locale/en-SB.json.d.ts +1 -1
  125. package/locale/en-SC.json.d.ts +1 -1
  126. package/locale/en-SD.json.d.ts +1 -1
  127. package/locale/en-SE.json.d.ts +1 -1
  128. package/locale/en-SG.json.d.ts +1 -1
  129. package/locale/en-SH.json.d.ts +1 -1
  130. package/locale/en-SI.json.d.ts +1 -1
  131. package/locale/en-SL.json.d.ts +1 -1
  132. package/locale/en-SS.json.d.ts +1 -1
  133. package/locale/en-SX.json.d.ts +1 -1
  134. package/locale/en-SZ.json.d.ts +1 -1
  135. package/locale/en-TC.json.d.ts +1 -1
  136. package/locale/en-TK.json.d.ts +1 -1
  137. package/locale/en-TO.json.d.ts +1 -1
  138. package/locale/en-TT.json.d.ts +1 -1
  139. package/locale/en-TV.json.d.ts +1 -1
  140. package/locale/en-TZ.json.d.ts +1 -1
  141. package/locale/en-UG.json.d.ts +1 -1
  142. package/locale/en-VC.json.d.ts +1 -1
  143. package/locale/en-VG.json.d.ts +1 -1
  144. package/locale/en-VU.json.d.ts +1 -1
  145. package/locale/en-WS.json.d.ts +1 -1
  146. package/locale/en-ZA.json.d.ts +1 -1
  147. package/locale/en-ZM.json.d.ts +1 -1
  148. package/locale/en-ZW.json.d.ts +1 -1
  149. package/locale/en.json +16 -28
  150. package/locale/en.json.d.ts +1 -1
  151. package/locale/en.json.js +16 -28
  152. package/locale/eo/package.json +16 -0
  153. package/locale/eo.json +275 -0
  154. package/locale/eo.json.d.ts +4 -0
  155. package/locale/eo.json.js +275 -0
  156. package/locale/es-419.json.d.ts +1 -1
  157. package/locale/es-AR.json.d.ts +1 -1
  158. package/locale/es-BO.json.d.ts +1 -1
  159. package/locale/es-BR.json.d.ts +1 -1
  160. package/locale/es-BZ.json.d.ts +1 -1
  161. package/locale/es-CL.json.d.ts +1 -1
  162. package/locale/es-CO.json.d.ts +1 -1
  163. package/locale/es-CR.json.d.ts +1 -1
  164. package/locale/es-CU.json.d.ts +1 -1
  165. package/locale/es-DO.json.d.ts +1 -1
  166. package/locale/es-EC.json.d.ts +1 -1
  167. package/locale/es-GT.json.d.ts +1 -1
  168. package/locale/es-HN.json.d.ts +1 -1
  169. package/locale/es-MX.json.d.ts +1 -1
  170. package/locale/es-NI.json.d.ts +1 -1
  171. package/locale/es-PA.json.d.ts +1 -1
  172. package/locale/es-PE.json.d.ts +1 -1
  173. package/locale/es-PR.json.d.ts +1 -1
  174. package/locale/es-PY.json.d.ts +1 -1
  175. package/locale/es-SV.json.d.ts +1 -1
  176. package/locale/es-US.json.d.ts +1 -1
  177. package/locale/es-UY.json.d.ts +1 -1
  178. package/locale/es-VE.json.d.ts +1 -1
  179. package/locale/es.json.d.ts +1 -1
  180. package/locale/et.json.d.ts +1 -1
  181. package/locale/eu.json.d.ts +1 -1
  182. package/locale/fa.json +2 -2
  183. package/locale/fa.json.d.ts +1 -1
  184. package/locale/fa.json.js +2 -2
  185. package/locale/ff-Adlm.json +4 -4
  186. package/locale/ff-Adlm.json.d.ts +1 -1
  187. package/locale/ff-Adlm.json.js +4 -4
  188. package/locale/fi.json.d.ts +1 -1
  189. package/locale/fil.json +52 -175
  190. package/locale/fil.json.d.ts +1 -1
  191. package/locale/fil.json.js +52 -175
  192. package/locale/fo.json.d.ts +1 -1
  193. package/locale/fr-CA.json.d.ts +1 -1
  194. package/locale/fr.json.d.ts +1 -1
  195. package/locale/fur.json.d.ts +1 -1
  196. package/locale/fy.json.d.ts +1 -1
  197. package/locale/ga.json +21 -7
  198. package/locale/ga.json.d.ts +1 -1
  199. package/locale/ga.json.js +21 -7
  200. package/locale/gd.json.d.ts +1 -1
  201. package/locale/gl.json.d.ts +1 -1
  202. package/locale/gu.json.d.ts +1 -1
  203. package/locale/ha.json.d.ts +1 -1
  204. package/locale/he.json.d.ts +1 -1
  205. package/locale/hi-Latn.json +75 -78
  206. package/locale/hi-Latn.json.d.ts +1 -1
  207. package/locale/hi-Latn.json.js +75 -78
  208. package/locale/hi.json.d.ts +1 -1
  209. package/locale/hr.json.d.ts +1 -1
  210. package/locale/hsb.json.d.ts +1 -1
  211. package/locale/hu.json +6 -6
  212. package/locale/hu.json.d.ts +1 -1
  213. package/locale/hu.json.js +6 -6
  214. package/locale/hy.json.d.ts +1 -1
  215. package/locale/ia.json.d.ts +1 -1
  216. package/locale/id.json.d.ts +1 -1
  217. package/locale/ig.json.d.ts +1 -1
  218. package/locale/is.json.d.ts +1 -1
  219. package/locale/it.json.d.ts +1 -1
  220. package/locale/ja.json.d.ts +1 -1
  221. package/locale/jgo.json.d.ts +1 -1
  222. package/locale/jv.json.d.ts +1 -1
  223. package/locale/ka.json.d.ts +1 -1
  224. package/locale/kea.json.d.ts +1 -1
  225. package/locale/kgp.json.d.ts +1 -1
  226. package/locale/kk.json.d.ts +1 -1
  227. package/locale/kl.json.d.ts +1 -1
  228. package/locale/km.json.d.ts +1 -1
  229. package/locale/kn.json.d.ts +1 -1
  230. package/locale/ko.json.d.ts +1 -1
  231. package/locale/kok.json.d.ts +1 -1
  232. package/locale/ks/package.json +16 -0
  233. package/locale/ks.json +159 -0
  234. package/locale/ks.json.d.ts +4 -0
  235. package/locale/ks.json.js +159 -0
  236. package/locale/ksh.json.d.ts +1 -1
  237. package/locale/ku.json.d.ts +1 -1
  238. package/locale/ky.json.d.ts +1 -1
  239. package/locale/lb.json.d.ts +1 -1
  240. package/locale/lkt.json.d.ts +1 -1
  241. package/locale/lo.json.d.ts +1 -1
  242. package/locale/lt.json.d.ts +1 -1
  243. package/locale/lv.json.d.ts +1 -1
  244. package/locale/mai/package.json +16 -0
  245. package/locale/mai.json +159 -0
  246. package/locale/mai.json.d.ts +4 -0
  247. package/locale/mai.json.js +159 -0
  248. package/locale/mi/package.json +16 -0
  249. package/locale/mi.json +159 -0
  250. package/locale/mi.json.d.ts +4 -0
  251. package/locale/mi.json.js +159 -0
  252. package/locale/mk.json +2 -2
  253. package/locale/mk.json.d.ts +1 -1
  254. package/locale/mk.json.js +2 -2
  255. package/locale/ml.json.d.ts +1 -1
  256. package/locale/mn.json.d.ts +1 -1
  257. package/locale/mni.json.d.ts +1 -1
  258. package/locale/mr.json.d.ts +1 -1
  259. package/locale/ms.json.d.ts +1 -1
  260. package/locale/mt.json +176 -55
  261. package/locale/mt.json.d.ts +1 -1
  262. package/locale/mt.json.js +176 -55
  263. package/locale/my.json.d.ts +1 -1
  264. package/locale/mzn.json.d.ts +1 -1
  265. package/locale/nb.json.d.ts +1 -1
  266. package/locale/ne.json.d.ts +1 -1
  267. package/locale/nl.json +4 -16
  268. package/locale/nl.json.d.ts +1 -1
  269. package/locale/nl.json.js +4 -16
  270. package/locale/nn.json.d.ts +1 -1
  271. package/locale/no.json.d.ts +1 -1
  272. package/locale/or.json +1 -4
  273. package/locale/or.json.d.ts +1 -1
  274. package/locale/or.json.js +1 -4
  275. package/locale/pa.json.d.ts +1 -1
  276. package/locale/pcm.json.d.ts +1 -1
  277. package/locale/pl.json.d.ts +1 -1
  278. package/locale/ps-PK.json.d.ts +1 -1
  279. package/locale/ps.json.d.ts +1 -1
  280. package/locale/pt-AO.json.d.ts +1 -1
  281. package/locale/pt-CH.json.d.ts +1 -1
  282. package/locale/pt-CV.json.d.ts +1 -1
  283. package/locale/pt-GQ.json.d.ts +1 -1
  284. package/locale/pt-GW.json.d.ts +1 -1
  285. package/locale/pt-LU.json.d.ts +1 -1
  286. package/locale/pt-MO.json.d.ts +1 -1
  287. package/locale/pt-MZ.json.d.ts +1 -1
  288. package/locale/pt-PT.json.d.ts +1 -1
  289. package/locale/pt-ST.json.d.ts +1 -1
  290. package/locale/pt-TL.json.d.ts +1 -1
  291. package/locale/pt.json.d.ts +1 -1
  292. package/locale/qu.json.d.ts +1 -1
  293. package/locale/raj/package.json +16 -0
  294. package/locale/raj.json +159 -0
  295. package/locale/raj.json.d.ts +4 -0
  296. package/locale/raj.json.js +159 -0
  297. package/locale/rm.json.d.ts +1 -1
  298. package/locale/ro.json.d.ts +1 -1
  299. package/locale/ru.json.d.ts +1 -1
  300. package/locale/sah.json.d.ts +1 -1
  301. package/locale/sc.json.d.ts +1 -1
  302. package/locale/sd.json.d.ts +1 -1
  303. package/locale/se-FI.json.d.ts +1 -1
  304. package/locale/se.json.d.ts +1 -1
  305. package/locale/si.json.d.ts +1 -1
  306. package/locale/sk.json.d.ts +1 -1
  307. package/locale/sl.json.d.ts +1 -1
  308. package/locale/so.json.d.ts +1 -1
  309. package/locale/sq.json.d.ts +1 -1
  310. package/locale/sr-Cyrl-BA.json +19 -19
  311. package/locale/sr-Cyrl-BA.json.d.ts +1 -1
  312. package/locale/sr-Cyrl-BA.json.js +19 -19
  313. package/locale/sr-Latn-BA.json +19 -19
  314. package/locale/sr-Latn-BA.json.d.ts +1 -1
  315. package/locale/sr-Latn-BA.json.js +19 -19
  316. package/locale/sr-Latn.json.d.ts +1 -1
  317. package/locale/sr.json.d.ts +1 -1
  318. package/locale/su.json.d.ts +1 -1
  319. package/locale/sv.json.d.ts +1 -1
  320. package/locale/sw.json.d.ts +1 -1
  321. package/locale/ta.json.d.ts +1 -1
  322. package/locale/te.json.d.ts +1 -1
  323. package/locale/tg.json.d.ts +1 -1
  324. package/locale/th.json.d.ts +1 -1
  325. package/locale/ti.json.d.ts +1 -1
  326. package/locale/tk.json.d.ts +1 -1
  327. package/locale/to.json.d.ts +1 -1
  328. package/locale/tr.json.d.ts +1 -1
  329. package/locale/tt.json.d.ts +1 -1
  330. package/locale/ug.json.d.ts +1 -1
  331. package/locale/uk.json +1 -4
  332. package/locale/uk.json.d.ts +1 -1
  333. package/locale/uk.json.js +1 -4
  334. package/locale/ur-IN.json.d.ts +1 -1
  335. package/locale/ur.json.d.ts +1 -1
  336. package/locale/uz-Cyrl.json.d.ts +1 -1
  337. package/locale/uz.json.d.ts +1 -1
  338. package/locale/vi.json.d.ts +1 -1
  339. package/locale/wae.json.d.ts +1 -1
  340. package/locale/wo.json.d.ts +1 -1
  341. package/locale/xh/package.json +16 -0
  342. package/locale/xh.json +159 -0
  343. package/locale/xh.json.d.ts +4 -0
  344. package/locale/xh.json.js +159 -0
  345. package/locale/yi.json.d.ts +1 -1
  346. package/locale/yo-BJ.json.d.ts +1 -1
  347. package/locale/yo.json.d.ts +1 -1
  348. package/locale/yrl.json.d.ts +1 -1
  349. package/locale/yue-Hans.json.d.ts +1 -1
  350. package/locale/yue.json.d.ts +1 -1
  351. package/locale/zh-Hans-HK.json.d.ts +1 -1
  352. package/locale/zh-Hans-MO.json.d.ts +1 -1
  353. package/locale/zh-Hans-SG.json.d.ts +1 -1
  354. package/locale/zh-Hant-HK.json.d.ts +1 -1
  355. package/locale/zh-Hant-MO.json.d.ts +1 -1
  356. package/locale/zh-Hant.json.d.ts +1 -1
  357. package/locale/zh.json.d.ts +1 -1
  358. package/locale/zu.json.d.ts +1 -1
  359. package/locale-more-styles/eo/long-time.json +30 -0
  360. package/locale-more-styles/eo/mini.json +9 -0
  361. package/locale-more-styles/eo/now.json +7 -0
  362. package/locale-more-styles/eo/short-time.json +9 -0
  363. package/modules/TimeAgo.test.js +1 -1
  364. package/modules/TimeAgo.test.js.map +1 -1
  365. package/package.json +67 -2
@@ -1 +1 @@
1
- {"version":3,"file":"TimeAgo.test.js","names":["TimeAgo","setDefaultLocale","describe","it","timeAgo","format","Date","now","should","equal","future","labels","steps","formatAs","flavour","gradation","englishNow","english","addLocale","undefined","NumberFormat","Intl","englishLongTimeMinute","minute","past","mockedDate","getTime","thrower","units","custom","time","date","locale","style2","style","unit","factor","include","secondLabels","second","getTimeToNextUpdate","round","deep","minTime","polyfill","global","expect","to","getDefaultLocale","addDefaultLocale"],"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'\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\t// `custom` returns a string\r\n\t\ttimeAgo.format(Date.now(), {\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\t// `custom` returns `undefined`\r\n\t\ttimeAgo.format(Date.now(), {\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 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 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// expect(() => {\r\n\t\t\tTimeAgo.addDefaultLocale({\r\n\t\t\t\tlocale: 'el'\r\n\t\t\t})\r\n\t\t// }).to.throw('`TimeAgo.addDefaultLocale()` can only be called once')\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})"],"mappings":"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"}
1
+ {"version":3,"file":"TimeAgo.test.js","names":["TimeAgo","setDefaultLocale","describe","it","timeAgo","format","Date","now","should","equal","future","labels","steps","formatAs","flavour","gradation","englishNow","english","addLocale","undefined","NumberFormat","Intl","englishLongTimeMinute","minute","past","mockedDate","getTime","thrower","units","custom","time","date","locale","style2","style","unit","factor","include","secondLabels","second","getTimeToNextUpdate","round","deep","minTime","polyfill","global","expect","to","getDefaultLocale","addDefaultLocale"],"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' assert { 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\t// `custom` returns a string\r\n\t\ttimeAgo.format(Date.now(), {\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\t// `custom` returns `undefined`\r\n\t\ttimeAgo.format(Date.now(), {\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 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 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// expect(() => {\r\n\t\t\tTimeAgo.addDefaultLocale({\r\n\t\t\t\tlocale: 'el'\r\n\t\t\t})\r\n\t\t// }).to.throw('`TimeAgo.addDefaultLocale()` can only be called once')\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})"],"mappings":"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"}
@@ -8,6 +8,7 @@ TimeAgo.addLocale(require("javascript-time-ago/locale/ast.json"))
8
8
  TimeAgo.addLocale(require("javascript-time-ago/locale/az.json"))
9
9
  TimeAgo.addLocale(require("javascript-time-ago/locale/be.json"))
10
10
  TimeAgo.addLocale(require("javascript-time-ago/locale/bg.json"))
11
+ TimeAgo.addLocale(require("javascript-time-ago/locale/bgc.json"))
11
12
  TimeAgo.addLocale(require("javascript-time-ago/locale/bn.json"))
12
13
  TimeAgo.addLocale(require("javascript-time-ago/locale/br.json"))
13
14
  TimeAgo.addLocale(require("javascript-time-ago/locale/brx.json"))
@@ -19,6 +20,7 @@ TimeAgo.addLocale(require("javascript-time-ago/locale/ce.json"))
19
20
  TimeAgo.addLocale(require("javascript-time-ago/locale/ceb.json"))
20
21
  TimeAgo.addLocale(require("javascript-time-ago/locale/chr.json"))
21
22
  TimeAgo.addLocale(require("javascript-time-ago/locale/cs.json"))
23
+ TimeAgo.addLocale(require("javascript-time-ago/locale/cv.json"))
22
24
  TimeAgo.addLocale(require("javascript-time-ago/locale/cy.json"))
23
25
  TimeAgo.addLocale(require("javascript-time-ago/locale/da.json"))
24
26
  TimeAgo.addLocale(require("javascript-time-ago/locale/de.json"))
@@ -122,6 +124,7 @@ TimeAgo.addLocale(require("javascript-time-ago/locale/en-WS.json"))
122
124
  TimeAgo.addLocale(require("javascript-time-ago/locale/en-ZA.json"))
123
125
  TimeAgo.addLocale(require("javascript-time-ago/locale/en-ZM.json"))
124
126
  TimeAgo.addLocale(require("javascript-time-ago/locale/en-ZW.json"))
127
+ TimeAgo.addLocale(require("javascript-time-ago/locale/eo.json"))
125
128
  TimeAgo.addLocale(require("javascript-time-ago/locale/es.json"))
126
129
  TimeAgo.addLocale(require("javascript-time-ago/locale/es-419.json"))
127
130
  TimeAgo.addLocale(require("javascript-time-ago/locale/es-AR.json"))
@@ -186,6 +189,7 @@ TimeAgo.addLocale(require("javascript-time-ago/locale/km.json"))
186
189
  TimeAgo.addLocale(require("javascript-time-ago/locale/kn.json"))
187
190
  TimeAgo.addLocale(require("javascript-time-ago/locale/ko.json"))
188
191
  TimeAgo.addLocale(require("javascript-time-ago/locale/kok.json"))
192
+ TimeAgo.addLocale(require("javascript-time-ago/locale/ks.json"))
189
193
  TimeAgo.addLocale(require("javascript-time-ago/locale/ksh.json"))
190
194
  TimeAgo.addLocale(require("javascript-time-ago/locale/ku.json"))
191
195
  TimeAgo.addLocale(require("javascript-time-ago/locale/ky.json"))
@@ -194,6 +198,8 @@ TimeAgo.addLocale(require("javascript-time-ago/locale/lkt.json"))
194
198
  TimeAgo.addLocale(require("javascript-time-ago/locale/lo.json"))
195
199
  TimeAgo.addLocale(require("javascript-time-ago/locale/lt.json"))
196
200
  TimeAgo.addLocale(require("javascript-time-ago/locale/lv.json"))
201
+ TimeAgo.addLocale(require("javascript-time-ago/locale/mai.json"))
202
+ TimeAgo.addLocale(require("javascript-time-ago/locale/mi.json"))
197
203
  TimeAgo.addLocale(require("javascript-time-ago/locale/mk.json"))
198
204
  TimeAgo.addLocale(require("javascript-time-ago/locale/ml.json"))
199
205
  TimeAgo.addLocale(require("javascript-time-ago/locale/mn.json"))
@@ -227,6 +233,7 @@ TimeAgo.addLocale(require("javascript-time-ago/locale/pt-PT.json"))
227
233
  TimeAgo.addLocale(require("javascript-time-ago/locale/pt-ST.json"))
228
234
  TimeAgo.addLocale(require("javascript-time-ago/locale/pt-TL.json"))
229
235
  TimeAgo.addLocale(require("javascript-time-ago/locale/qu.json"))
236
+ TimeAgo.addLocale(require("javascript-time-ago/locale/raj.json"))
230
237
  TimeAgo.addLocale(require("javascript-time-ago/locale/rm.json"))
231
238
  TimeAgo.addLocale(require("javascript-time-ago/locale/ro.json"))
232
239
  TimeAgo.addLocale(require("javascript-time-ago/locale/ru.json"))
@@ -265,6 +272,7 @@ TimeAgo.addLocale(require("javascript-time-ago/locale/uz-Cyrl.json"))
265
272
  TimeAgo.addLocale(require("javascript-time-ago/locale/vi.json"))
266
273
  TimeAgo.addLocale(require("javascript-time-ago/locale/wae.json"))
267
274
  TimeAgo.addLocale(require("javascript-time-ago/locale/wo.json"))
275
+ TimeAgo.addLocale(require("javascript-time-ago/locale/xh.json"))
268
276
  TimeAgo.addLocale(require("javascript-time-ago/locale/yi.json"))
269
277
  TimeAgo.addLocale(require("javascript-time-ago/locale/yo.json"))
270
278
  TimeAgo.addLocale(require("javascript-time-ago/locale/yo-BJ.json"))
@@ -13,6 +13,7 @@ TimeAgo.addLocale(require("javascript-time-ago/locale/ast.json"))
13
13
  TimeAgo.addLocale(require("javascript-time-ago/locale/az.json"))
14
14
  TimeAgo.addLocale(require("javascript-time-ago/locale/be.json"))
15
15
  TimeAgo.addLocale(require("javascript-time-ago/locale/bg.json"))
16
+ TimeAgo.addLocale(require("javascript-time-ago/locale/bgc.json"))
16
17
  TimeAgo.addLocale(require("javascript-time-ago/locale/bn.json"))
17
18
  TimeAgo.addLocale(require("javascript-time-ago/locale/br.json"))
18
19
  TimeAgo.addLocale(require("javascript-time-ago/locale/brx.json"))
@@ -24,6 +25,7 @@ TimeAgo.addLocale(require("javascript-time-ago/locale/ce.json"))
24
25
  TimeAgo.addLocale(require("javascript-time-ago/locale/ceb.json"))
25
26
  TimeAgo.addLocale(require("javascript-time-ago/locale/chr.json"))
26
27
  TimeAgo.addLocale(require("javascript-time-ago/locale/cs.json"))
28
+ TimeAgo.addLocale(require("javascript-time-ago/locale/cv.json"))
27
29
  TimeAgo.addLocale(require("javascript-time-ago/locale/cy.json"))
28
30
  TimeAgo.addLocale(require("javascript-time-ago/locale/da.json"))
29
31
  TimeAgo.addLocale(require("javascript-time-ago/locale/de.json"))
@@ -127,6 +129,7 @@ TimeAgo.addLocale(require("javascript-time-ago/locale/en-WS.json"))
127
129
  TimeAgo.addLocale(require("javascript-time-ago/locale/en-ZA.json"))
128
130
  TimeAgo.addLocale(require("javascript-time-ago/locale/en-ZM.json"))
129
131
  TimeAgo.addLocale(require("javascript-time-ago/locale/en-ZW.json"))
132
+ TimeAgo.addLocale(require("javascript-time-ago/locale/eo.json"))
130
133
  TimeAgo.addLocale(require("javascript-time-ago/locale/es.json"))
131
134
  TimeAgo.addLocale(require("javascript-time-ago/locale/es-419.json"))
132
135
  TimeAgo.addLocale(require("javascript-time-ago/locale/es-AR.json"))
@@ -191,6 +194,7 @@ TimeAgo.addLocale(require("javascript-time-ago/locale/km.json"))
191
194
  TimeAgo.addLocale(require("javascript-time-ago/locale/kn.json"))
192
195
  TimeAgo.addLocale(require("javascript-time-ago/locale/ko.json"))
193
196
  TimeAgo.addLocale(require("javascript-time-ago/locale/kok.json"))
197
+ TimeAgo.addLocale(require("javascript-time-ago/locale/ks.json"))
194
198
  TimeAgo.addLocale(require("javascript-time-ago/locale/ksh.json"))
195
199
  TimeAgo.addLocale(require("javascript-time-ago/locale/ku.json"))
196
200
  TimeAgo.addLocale(require("javascript-time-ago/locale/ky.json"))
@@ -199,6 +203,8 @@ TimeAgo.addLocale(require("javascript-time-ago/locale/lkt.json"))
199
203
  TimeAgo.addLocale(require("javascript-time-ago/locale/lo.json"))
200
204
  TimeAgo.addLocale(require("javascript-time-ago/locale/lt.json"))
201
205
  TimeAgo.addLocale(require("javascript-time-ago/locale/lv.json"))
206
+ TimeAgo.addLocale(require("javascript-time-ago/locale/mai.json"))
207
+ TimeAgo.addLocale(require("javascript-time-ago/locale/mi.json"))
202
208
  TimeAgo.addLocale(require("javascript-time-ago/locale/mk.json"))
203
209
  TimeAgo.addLocale(require("javascript-time-ago/locale/ml.json"))
204
210
  TimeAgo.addLocale(require("javascript-time-ago/locale/mn.json"))
@@ -232,6 +238,7 @@ TimeAgo.addLocale(require("javascript-time-ago/locale/pt-PT.json"))
232
238
  TimeAgo.addLocale(require("javascript-time-ago/locale/pt-ST.json"))
233
239
  TimeAgo.addLocale(require("javascript-time-ago/locale/pt-TL.json"))
234
240
  TimeAgo.addLocale(require("javascript-time-ago/locale/qu.json"))
241
+ TimeAgo.addLocale(require("javascript-time-ago/locale/raj.json"))
235
242
  TimeAgo.addLocale(require("javascript-time-ago/locale/rm.json"))
236
243
  TimeAgo.addLocale(require("javascript-time-ago/locale/ro.json"))
237
244
  TimeAgo.addLocale(require("javascript-time-ago/locale/ru.json"))
@@ -270,6 +277,7 @@ TimeAgo.addLocale(require("javascript-time-ago/locale/uz-Cyrl.json"))
270
277
  TimeAgo.addLocale(require("javascript-time-ago/locale/vi.json"))
271
278
  TimeAgo.addLocale(require("javascript-time-ago/locale/wae.json"))
272
279
  TimeAgo.addLocale(require("javascript-time-ago/locale/wo.json"))
280
+ TimeAgo.addLocale(require("javascript-time-ago/locale/xh.json"))
273
281
  TimeAgo.addLocale(require("javascript-time-ago/locale/yi.json"))
274
282
  TimeAgo.addLocale(require("javascript-time-ago/locale/yo.json"))
275
283
  TimeAgo.addLocale(require("javascript-time-ago/locale/yo-BJ.json"))
@@ -9,6 +9,7 @@ import ast from "javascript-time-ago/locale/ast.json"
9
9
  import az from "javascript-time-ago/locale/az.json"
10
10
  import be from "javascript-time-ago/locale/be.json"
11
11
  import bg from "javascript-time-ago/locale/bg.json"
12
+ import bgc from "javascript-time-ago/locale/bgc.json"
12
13
  import bn from "javascript-time-ago/locale/bn.json"
13
14
  import br from "javascript-time-ago/locale/br.json"
14
15
  import brx from "javascript-time-ago/locale/brx.json"
@@ -20,6 +21,7 @@ import ce from "javascript-time-ago/locale/ce.json"
20
21
  import ceb from "javascript-time-ago/locale/ceb.json"
21
22
  import chr from "javascript-time-ago/locale/chr.json"
22
23
  import cs from "javascript-time-ago/locale/cs.json"
24
+ import cv from "javascript-time-ago/locale/cv.json"
23
25
  import cy from "javascript-time-ago/locale/cy.json"
24
26
  import da from "javascript-time-ago/locale/da.json"
25
27
  import de from "javascript-time-ago/locale/de.json"
@@ -123,6 +125,7 @@ import en_WS from "javascript-time-ago/locale/en-WS.json"
123
125
  import en_ZA from "javascript-time-ago/locale/en-ZA.json"
124
126
  import en_ZM from "javascript-time-ago/locale/en-ZM.json"
125
127
  import en_ZW from "javascript-time-ago/locale/en-ZW.json"
128
+ import eo from "javascript-time-ago/locale/eo.json"
126
129
  import es from "javascript-time-ago/locale/es.json"
127
130
  import es_419 from "javascript-time-ago/locale/es-419.json"
128
131
  import es_AR from "javascript-time-ago/locale/es-AR.json"
@@ -187,6 +190,7 @@ import km from "javascript-time-ago/locale/km.json"
187
190
  import kn from "javascript-time-ago/locale/kn.json"
188
191
  import ko from "javascript-time-ago/locale/ko.json"
189
192
  import kok from "javascript-time-ago/locale/kok.json"
193
+ import ks from "javascript-time-ago/locale/ks.json"
190
194
  import ksh from "javascript-time-ago/locale/ksh.json"
191
195
  import ku from "javascript-time-ago/locale/ku.json"
192
196
  import ky from "javascript-time-ago/locale/ky.json"
@@ -195,6 +199,8 @@ import lkt from "javascript-time-ago/locale/lkt.json"
195
199
  import lo from "javascript-time-ago/locale/lo.json"
196
200
  import lt from "javascript-time-ago/locale/lt.json"
197
201
  import lv from "javascript-time-ago/locale/lv.json"
202
+ import mai from "javascript-time-ago/locale/mai.json"
203
+ import mi from "javascript-time-ago/locale/mi.json"
198
204
  import mk from "javascript-time-ago/locale/mk.json"
199
205
  import ml from "javascript-time-ago/locale/ml.json"
200
206
  import mn from "javascript-time-ago/locale/mn.json"
@@ -228,6 +234,7 @@ import pt_PT from "javascript-time-ago/locale/pt-PT.json"
228
234
  import pt_ST from "javascript-time-ago/locale/pt-ST.json"
229
235
  import pt_TL from "javascript-time-ago/locale/pt-TL.json"
230
236
  import qu from "javascript-time-ago/locale/qu.json"
237
+ import raj from "javascript-time-ago/locale/raj.json"
231
238
  import rm from "javascript-time-ago/locale/rm.json"
232
239
  import ro from "javascript-time-ago/locale/ro.json"
233
240
  import ru from "javascript-time-ago/locale/ru.json"
@@ -266,6 +273,7 @@ import uz_Cyrl from "javascript-time-ago/locale/uz-Cyrl.json"
266
273
  import vi from "javascript-time-ago/locale/vi.json"
267
274
  import wae from "javascript-time-ago/locale/wae.json"
268
275
  import wo from "javascript-time-ago/locale/wo.json"
276
+ import xh from "javascript-time-ago/locale/xh.json"
269
277
  import yi from "javascript-time-ago/locale/yi.json"
270
278
  import yo from "javascript-time-ago/locale/yo.json"
271
279
  import yo_BJ from "javascript-time-ago/locale/yo-BJ.json"
@@ -290,6 +298,7 @@ TimeAgo.addLocale(ast)
290
298
  TimeAgo.addLocale(az)
291
299
  TimeAgo.addLocale(be)
292
300
  TimeAgo.addLocale(bg)
301
+ TimeAgo.addLocale(bgc)
293
302
  TimeAgo.addLocale(bn)
294
303
  TimeAgo.addLocale(br)
295
304
  TimeAgo.addLocale(brx)
@@ -301,6 +310,7 @@ TimeAgo.addLocale(ce)
301
310
  TimeAgo.addLocale(ceb)
302
311
  TimeAgo.addLocale(chr)
303
312
  TimeAgo.addLocale(cs)
313
+ TimeAgo.addLocale(cv)
304
314
  TimeAgo.addLocale(cy)
305
315
  TimeAgo.addLocale(da)
306
316
  TimeAgo.addLocale(de)
@@ -404,6 +414,7 @@ TimeAgo.addLocale(en_WS)
404
414
  TimeAgo.addLocale(en_ZA)
405
415
  TimeAgo.addLocale(en_ZM)
406
416
  TimeAgo.addLocale(en_ZW)
417
+ TimeAgo.addLocale(eo)
407
418
  TimeAgo.addLocale(es)
408
419
  TimeAgo.addLocale(es_419)
409
420
  TimeAgo.addLocale(es_AR)
@@ -468,6 +479,7 @@ TimeAgo.addLocale(km)
468
479
  TimeAgo.addLocale(kn)
469
480
  TimeAgo.addLocale(ko)
470
481
  TimeAgo.addLocale(kok)
482
+ TimeAgo.addLocale(ks)
471
483
  TimeAgo.addLocale(ksh)
472
484
  TimeAgo.addLocale(ku)
473
485
  TimeAgo.addLocale(ky)
@@ -476,6 +488,8 @@ TimeAgo.addLocale(lkt)
476
488
  TimeAgo.addLocale(lo)
477
489
  TimeAgo.addLocale(lt)
478
490
  TimeAgo.addLocale(lv)
491
+ TimeAgo.addLocale(mai)
492
+ TimeAgo.addLocale(mi)
479
493
  TimeAgo.addLocale(mk)
480
494
  TimeAgo.addLocale(ml)
481
495
  TimeAgo.addLocale(mn)
@@ -509,6 +523,7 @@ TimeAgo.addLocale(pt_PT)
509
523
  TimeAgo.addLocale(pt_ST)
510
524
  TimeAgo.addLocale(pt_TL)
511
525
  TimeAgo.addLocale(qu)
526
+ TimeAgo.addLocale(raj)
512
527
  TimeAgo.addLocale(rm)
513
528
  TimeAgo.addLocale(ro)
514
529
  TimeAgo.addLocale(ru)
@@ -547,6 +562,7 @@ TimeAgo.addLocale(uz_Cyrl)
547
562
  TimeAgo.addLocale(vi)
548
563
  TimeAgo.addLocale(wae)
549
564
  TimeAgo.addLocale(wo)
565
+ TimeAgo.addLocale(xh)
550
566
  TimeAgo.addLocale(yi)
551
567
  TimeAgo.addLocale(yo)
552
568
  TimeAgo.addLocale(yo_BJ)
@@ -1,4 +1,4 @@
1
- import { LocaleData } from '../index';
1
+ import { LocaleData } from '../index.d.js';
2
2
 
3
3
  declare const localeData: LocaleData;
4
4
  export default localeData;
@@ -1,4 +1,4 @@
1
- import { LocaleData } from '../index';
1
+ import { LocaleData } from '../index.d.js';
2
2
 
3
3
  declare const localeData: LocaleData;
4
4
  export default localeData;
@@ -1,4 +1,4 @@
1
- import { LocaleData } from '../index';
1
+ import { LocaleData } from '../index.d.js';
2
2
 
3
3
  declare const localeData: LocaleData;
4
4
  export default localeData;
@@ -1,4 +1,4 @@
1
- import { LocaleData } from '../index';
1
+ import { LocaleData } from '../index.d.js';
2
2
 
3
3
  declare const localeData: LocaleData;
4
4
  export default localeData;
@@ -1,4 +1,4 @@
1
- import { LocaleData } from '../index';
1
+ import { LocaleData } from '../index.d.js';
2
2
 
3
3
  declare const localeData: LocaleData;
4
4
  export default localeData;
@@ -1,4 +1,4 @@
1
- import { LocaleData } from '../index';
1
+ import { LocaleData } from '../index.d.js';
2
2
 
3
3
  declare const localeData: LocaleData;
4
4
  export default localeData;
@@ -1,4 +1,4 @@
1
- import { LocaleData } from '../index';
1
+ import { LocaleData } from '../index.d.js';
2
2
 
3
3
  declare const localeData: LocaleData;
4
4
  export default localeData;
@@ -1,4 +1,4 @@
1
- import { LocaleData } from '../index';
1
+ import { LocaleData } from '../index.d.js';
2
2
 
3
3
  declare const localeData: LocaleData;
4
4
  export default localeData;
@@ -1,4 +1,4 @@
1
- import { LocaleData } from '../index';
1
+ import { LocaleData } from '../index.d.js';
2
2
 
3
3
  declare const localeData: LocaleData;
4
4
  export default localeData;
@@ -0,0 +1,16 @@
1
+ {
2
+ "private": true,
3
+ "name": "javascript-time-ago/locale/bgc",
4
+ "main": "../bgc.json",
5
+ "module": "../bgc.json.js",
6
+ "types": "../bgc.json.d.ts",
7
+ "type": "module",
8
+ "exports": {
9
+ ".": {
10
+ "types": "../bgc.json.d.ts",
11
+ "import": "../bgc.json.js",
12
+ "require": "../bgc.json"
13
+ }
14
+ },
15
+ "sideEffects": false
16
+ }