javascript-time-ago 2.5.10 → 2.5.12
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.
- package/bundle/javascript-time-ago.js +1 -1
- package/bundle/javascript-time-ago.js.map +1 -1
- package/bundle/javascript-time-ago.min.js +1 -1
- package/bundle/javascript-time-ago.min.js.map +1 -1
- package/commonjs/LocaleDataStore.js +2 -5
- package/commonjs/LocaleDataStore.js.map +1 -1
- package/commonjs/PropTypes.js +12 -12
- package/commonjs/PropTypes.js.map +1 -1
- package/commonjs/TimeAgo.js +135 -190
- package/commonjs/TimeAgo.js.map +1 -1
- package/commonjs/TimeAgo.test.js +124 -130
- package/commonjs/TimeAgo.test.js.map +1 -1
- package/commonjs/cache.js +7 -25
- package/commonjs/cache.js.map +1 -1
- package/commonjs/cache.test.js +1 -3
- package/commonjs/cache.test.js.map +1 -1
- package/commonjs/isStyleObject.js +9 -9
- package/commonjs/isStyleObject.js.map +1 -1
- package/commonjs/isStyleObject.test.js +1 -3
- package/commonjs/isStyleObject.test.js.map +1 -1
- package/commonjs/locale.js +6 -19
- package/commonjs/locale.js.map +1 -1
- package/commonjs/locale.test.js +2 -11
- package/commonjs/locale.test.js.map +1 -1
- package/commonjs/round.js +2 -5
- package/commonjs/round.js.map +1 -1
- package/commonjs/steps/approximate.js +1 -4
- package/commonjs/steps/approximate.js.map +1 -1
- package/commonjs/steps/approximate.test.js +1 -6
- package/commonjs/steps/approximate.test.js.map +1 -1
- package/commonjs/steps/getStep.js +36 -53
- package/commonjs/steps/getStep.js.map +1 -1
- package/commonjs/steps/getStep.test.js +7 -7
- package/commonjs/steps/getStep.test.js.map +1 -1
- package/commonjs/steps/getStepDenominator.js +2 -5
- package/commonjs/steps/getStepDenominator.js.map +1 -1
- package/commonjs/steps/getStepDenominator.test.js +1 -3
- package/commonjs/steps/getStepDenominator.test.js.map +1 -1
- package/commonjs/steps/getStepMinTime.js +17 -32
- package/commonjs/steps/getStepMinTime.js.map +1 -1
- package/commonjs/steps/getStepMinTime.test.js +1 -3
- package/commonjs/steps/getStepMinTime.test.js.map +1 -1
- package/commonjs/steps/getTimeToNextUpdate.js +19 -41
- package/commonjs/steps/getTimeToNextUpdate.js.map +1 -1
- package/commonjs/steps/getTimeToNextUpdate.test.js +29 -25
- package/commonjs/steps/getTimeToNextUpdate.test.js.map +1 -1
- package/commonjs/steps/getTimeToNextUpdateForUnit.js +3 -12
- package/commonjs/steps/getTimeToNextUpdateForUnit.js.map +1 -1
- package/commonjs/steps/getTimeToNextUpdateForUnit.test.js +1 -7
- package/commonjs/steps/getTimeToNextUpdateForUnit.test.js.map +1 -1
- package/commonjs/steps/helpers.js +1 -2
- package/commonjs/steps/helpers.js.map +1 -1
- package/commonjs/steps/helpers.test.js +0 -1
- package/commonjs/steps/helpers.test.js.map +1 -1
- package/commonjs/steps/index.js +1 -6
- package/commonjs/steps/index.js.map +1 -1
- package/commonjs/steps/renameLegacyProperties.js +6 -14
- package/commonjs/steps/renameLegacyProperties.js.map +1 -1
- package/commonjs/steps/renameLegacyProperties.test.js +1 -3
- package/commonjs/steps/renameLegacyProperties.test.js.map +1 -1
- package/commonjs/steps/round.js +1 -2
- package/commonjs/steps/round.js.map +1 -1
- package/commonjs/steps/round.test.js +1 -7
- package/commonjs/steps/round.test.js.map +1 -1
- package/commonjs/steps/units.js +10 -21
- package/commonjs/steps/units.js.map +1 -1
- package/commonjs/style/approximate.js +2 -6
- package/commonjs/style/approximate.js.map +1 -1
- package/commonjs/style/approximateTime.js +2 -6
- package/commonjs/style/approximateTime.js.map +1 -1
- package/commonjs/style/approximateTime.test.js +116 -75
- package/commonjs/style/approximateTime.test.js.map +1 -1
- package/commonjs/style/getStyleByName.js +3 -29
- package/commonjs/style/getStyleByName.js.map +1 -1
- package/commonjs/style/mini.js +9 -6
- package/commonjs/style/mini.js.map +1 -1
- package/commonjs/style/mini.test.js +15 -25
- package/commonjs/style/mini.test.js.map +1 -1
- package/commonjs/style/miniMinute.js +8 -13
- package/commonjs/style/miniMinute.js.map +1 -1
- package/commonjs/style/miniMinute.test.js +11 -17
- package/commonjs/style/miniMinute.test.js.map +1 -1
- package/commonjs/style/miniMinuteNow.js +8 -13
- package/commonjs/style/miniMinuteNow.js.map +1 -1
- package/commonjs/style/miniMinuteNow.test.js +11 -17
- package/commonjs/style/miniMinuteNow.test.js.map +1 -1
- package/commonjs/style/miniNow.js +8 -13
- package/commonjs/style/miniNow.js.map +1 -1
- package/commonjs/style/miniNow.test.js +11 -17
- package/commonjs/style/miniNow.test.js.map +1 -1
- package/commonjs/style/renameLegacyProperties.js +7 -13
- package/commonjs/style/renameLegacyProperties.js.map +1 -1
- package/commonjs/style/renameLegacyProperties.test.js +1 -4
- package/commonjs/style/renameLegacyProperties.test.js.map +1 -1
- package/commonjs/style/round.js +2 -6
- package/commonjs/style/round.js.map +1 -1
- package/commonjs/style/round.test.js +51 -67
- package/commonjs/style/round.test.js.map +1 -1
- package/commonjs/style/roundMinute.js +8 -13
- package/commonjs/style/roundMinute.js.map +1 -1
- package/commonjs/style/roundMinute.test.js +20 -27
- package/commonjs/style/roundMinute.test.js.map +1 -1
- package/commonjs/style/twitter.js +34 -38
- package/commonjs/style/twitter.js.map +1 -1
- package/commonjs/style/twitter.test.js +49 -55
- package/commonjs/style/twitter.test.js.map +1 -1
- package/commonjs/style/twitterFirstMinute.js +10 -15
- package/commonjs/style/twitterFirstMinute.js.map +1 -1
- package/commonjs/style/twitterFirstMinute.test.js +16 -23
- package/commonjs/style/twitterFirstMinute.test.js.map +1 -1
- package/commonjs/style/twitterMinute.js +8 -13
- package/commonjs/style/twitterMinute.js.map +1 -1
- package/commonjs/style/twitterMinute.test.js +20 -25
- package/commonjs/style/twitterMinute.test.js.map +1 -1
- package/commonjs/style/twitterMinuteNow.js +8 -13
- package/commonjs/style/twitterMinuteNow.js.map +1 -1
- package/commonjs/style/twitterMinuteNow.test.js +20 -25
- package/commonjs/style/twitterMinuteNow.test.js.map +1 -1
- package/commonjs/style/twitterNow.js +8 -13
- package/commonjs/style/twitterNow.js.map +1 -1
- package/commonjs/style/twitterNow.test.js +18 -24
- package/commonjs/style/twitterNow.test.js.map +1 -1
- package/load-all-locales/index.cjs +32 -0
- package/load-all-locales/index.cjs.js +32 -0
- package/load-all-locales/index.js +64 -0
- package/locale/ak/package.json +16 -0
- package/locale/ak.json +267 -0
- package/locale/ak.json.d.ts +4 -0
- package/locale/ak.json.js +267 -0
- package/locale/bal-Latn/package.json +16 -0
- package/locale/bal-Latn.json +240 -0
- package/locale/bal-Latn.json.d.ts +4 -0
- package/locale/bal-Latn.json.js +240 -0
- package/locale/be-tarask/package.json +16 -0
- package/locale/be-tarask.json +259 -0
- package/locale/be-tarask.json.d.ts +4 -0
- package/locale/be-tarask.json.js +259 -0
- package/locale/blo/package.json +16 -0
- package/locale/blo.json +159 -0
- package/locale/blo.json.d.ts +4 -0
- package/locale/blo.json.js +159 -0
- package/locale/bn.json +5 -2
- package/locale/bn.json.js +5 -2
- package/locale/bs.json +8 -2
- package/locale/bs.json.js +8 -2
- package/locale/ccp.json +2 -8
- package/locale/ccp.json.js +2 -8
- package/locale/csw/package.json +16 -0
- package/locale/csw.json +180 -0
- package/locale/csw.json.d.ts +4 -0
- package/locale/csw.json.js +180 -0
- package/locale/cy.json +6 -12
- package/locale/cy.json.js +6 -12
- package/locale/doi/package.json +16 -0
- package/locale/doi.json +159 -0
- package/locale/doi.json.d.ts +4 -0
- package/locale/doi.json.js +159 -0
- package/locale/en-AU.json +12 -12
- package/locale/en-AU.json.js +12 -12
- package/locale/en-CZ/package.json +16 -0
- package/locale/en-CZ.json +219 -0
- package/locale/en-CZ.json.d.ts +4 -0
- package/locale/en-CZ.json.js +219 -0
- package/locale/en-ES/package.json +16 -0
- package/locale/en-ES.json +219 -0
- package/locale/en-ES.json.d.ts +4 -0
- package/locale/en-ES.json.js +219 -0
- package/locale/en-FR/package.json +16 -0
- package/locale/en-FR.json +219 -0
- package/locale/en-FR.json.d.ts +4 -0
- package/locale/en-FR.json.js +219 -0
- package/locale/en-GS/package.json +16 -0
- package/locale/en-GS.json +219 -0
- package/locale/en-GS.json.d.ts +4 -0
- package/locale/en-GS.json.js +219 -0
- package/locale/en-HU/package.json +16 -0
- package/locale/en-HU.json +219 -0
- package/locale/en-HU.json.d.ts +4 -0
- package/locale/en-HU.json.js +219 -0
- package/locale/en-ID/package.json +16 -0
- package/locale/en-ID.json +219 -0
- package/locale/en-ID.json.d.ts +4 -0
- package/locale/en-ID.json.js +219 -0
- package/locale/en-IT/package.json +16 -0
- package/locale/en-IT.json +219 -0
- package/locale/en-IT.json.d.ts +4 -0
- package/locale/en-IT.json.js +219 -0
- package/locale/en-NO/package.json +16 -0
- package/locale/en-NO.json +219 -0
- package/locale/en-NO.json.d.ts +4 -0
- package/locale/en-NO.json.js +219 -0
- package/locale/en-PL/package.json +16 -0
- package/locale/en-PL.json +219 -0
- package/locale/en-PL.json.d.ts +4 -0
- package/locale/en-PL.json.js +219 -0
- package/locale/en-PT/package.json +16 -0
- package/locale/en-PT.json +219 -0
- package/locale/en-PT.json.d.ts +4 -0
- package/locale/en-PT.json.js +219 -0
- package/locale/en-RO/package.json +16 -0
- package/locale/en-RO.json +219 -0
- package/locale/en-RO.json.d.ts +4 -0
- package/locale/en-RO.json.js +219 -0
- package/locale/en-SK/package.json +16 -0
- package/locale/en-SK.json +219 -0
- package/locale/en-SK.json.d.ts +4 -0
- package/locale/en-SK.json.js +219 -0
- package/locale/es-MX.json +12 -9
- package/locale/es-MX.json.js +12 -9
- package/locale/es-SV.json +2 -2
- package/locale/es-SV.json.js +2 -2
- package/locale/eu.json +24 -24
- package/locale/eu.json.js +24 -24
- package/locale/ha.json +119 -65
- package/locale/ha.json.js +119 -65
- package/locale/he.json +0 -6
- package/locale/he.json.js +0 -6
- package/locale/hi-Latn.json +2 -2
- package/locale/hi-Latn.json.js +2 -2
- package/locale/ht/package.json +16 -0
- package/locale/ht.json +207 -0
- package/locale/ht.json.d.ts +4 -0
- package/locale/ht.json.js +207 -0
- package/locale/id.json +1 -1
- package/locale/id.json.js +1 -1
- package/locale/ie/package.json +16 -0
- package/locale/ie.json +159 -0
- package/locale/ie.json.d.ts +4 -0
- package/locale/ie.json.js +159 -0
- package/locale/ig.json +17 -17
- package/locale/ig.json.js +17 -17
- package/locale/ii/package.json +16 -0
- package/locale/ii.json +165 -0
- package/locale/ii.json.d.ts +4 -0
- package/locale/ii.json.js +165 -0
- package/locale/is.json +4 -1
- package/locale/is.json.js +4 -1
- package/locale/kaa/package.json +16 -0
- package/locale/kaa.json +159 -0
- package/locale/kaa.json.d.ts +4 -0
- package/locale/kaa.json.js +159 -0
- package/locale/kok-Latn/package.json +16 -0
- package/locale/kok-Latn.json +159 -0
- package/locale/kok-Latn.json.d.ts +4 -0
- package/locale/kok-Latn.json.js +159 -0
- package/locale/kok.json +8 -8
- package/locale/kok.json.js +8 -8
- package/locale/ks.json +9 -9
- package/locale/ks.json.js +9 -9
- package/locale/ku.json +55 -46
- package/locale/ku.json.js +55 -46
- package/locale/lld/package.json +16 -0
- package/locale/lld.json +291 -0
- package/locale/lld.json.d.ts +4 -0
- package/locale/lld.json.js +291 -0
- package/locale/mi.json +22 -22
- package/locale/mi.json.js +22 -22
- package/locale/ms-Arab/package.json +16 -0
- package/locale/ms-Arab.json +159 -0
- package/locale/ms-Arab.json.d.ts +4 -0
- package/locale/ms-Arab.json.js +159 -0
- package/locale/nb.json +2 -2
- package/locale/nb.json.js +2 -2
- package/locale/ne.json +1 -1
- package/locale/ne.json.js +1 -1
- package/locale/nn.json +4 -4
- package/locale/nn.json.js +4 -4
- package/locale/no.json +2 -2
- package/locale/no.json.js +2 -2
- package/locale/nqo/package.json +16 -0
- package/locale/nqo.json +159 -0
- package/locale/nqo.json.d.ts +4 -0
- package/locale/nqo.json.js +159 -0
- package/locale/om/package.json +16 -0
- package/locale/om.json +213 -0
- package/locale/om.json.d.ts +4 -0
- package/locale/om.json.js +213 -0
- package/locale/or.json +1 -1
- package/locale/or.json.js +1 -1
- package/locale/pl.json +59 -0
- package/locale/pl.json.js +59 -0
- package/locale/qu.json +46 -46
- package/locale/qu.json.js +46 -46
- package/locale/rhg/package.json +16 -0
- package/locale/rhg.json +159 -0
- package/locale/rhg.json.d.ts +4 -0
- package/locale/rhg.json.js +159 -0
- package/locale/sl.json +12 -12
- package/locale/sl.json.js +12 -12
- package/locale/sr-Cyrl-BA.json +2 -2
- package/locale/sr-Cyrl-BA.json.js +2 -2
- package/locale/sr-Latn-BA.json +2 -2
- package/locale/sr-Latn-BA.json.js +2 -2
- package/locale/sv.json +1 -1
- package/locale/sv.json.js +1 -1
- package/locale/syr/package.json +16 -0
- package/locale/syr.json +303 -0
- package/locale/syr.json.d.ts +4 -0
- package/locale/syr.json.js +303 -0
- package/locale/ti.json +6 -6
- package/locale/ti.json.js +6 -6
- package/locale/tn/package.json +16 -0
- package/locale/tn.json +159 -0
- package/locale/tn.json.d.ts +4 -0
- package/locale/tn.json.js +159 -0
- package/locale/to.json +26 -26
- package/locale/to.json.js +26 -26
- package/locale/uk.json +1 -1
- package/locale/uk.json.js +1 -1
- package/locale/ur-IN.json +9 -6
- package/locale/ur-IN.json.js +9 -6
- package/locale/vec/package.json +16 -0
- package/locale/vec.json +267 -0
- package/locale/vec.json.d.ts +4 -0
- package/locale/vec.json.js +267 -0
- package/locale/xnr/package.json +16 -0
- package/locale/xnr.json +159 -0
- package/locale/xnr.json.d.ts +4 -0
- package/locale/xnr.json.js +159 -0
- package/locale/yo-BJ.json +17 -17
- package/locale/yo-BJ.json.js +17 -17
- package/locale/yo.json +17 -17
- package/locale/yo.json.js +17 -17
- package/locale-more-styles/pl/long-time.json +30 -0
- package/locale-more-styles/pl/mini.json +9 -0
- package/locale-more-styles/pl/now.json +7 -0
- package/locale-more-styles/pl/short-time.json +12 -0
- package/modules/LocaleDataStore.js +2 -3
- package/modules/LocaleDataStore.js.map +1 -1
- package/modules/PropTypes.js +11 -7
- package/modules/PropTypes.js.map +1 -1
- package/modules/TimeAgo.js +135 -174
- package/modules/TimeAgo.js.map +1 -1
- package/modules/TimeAgo.test.js +126 -115
- package/modules/TimeAgo.test.js.map +1 -1
- package/modules/cache.js +6 -22
- package/modules/cache.js.map +1 -1
- package/modules/cache.test.js.map +1 -1
- package/modules/isStyleObject.js +9 -7
- package/modules/isStyleObject.js.map +1 -1
- package/modules/isStyleObject.test.js.map +1 -1
- package/modules/locale.js +6 -16
- package/modules/locale.js.map +1 -1
- package/modules/locale.test.js +0 -4
- package/modules/locale.test.js.map +1 -1
- package/modules/round.js +2 -3
- package/modules/round.js.map +1 -1
- package/modules/steps/approximate.js +6 -2
- package/modules/steps/approximate.js.map +1 -1
- package/modules/steps/approximate.test.js +0 -2
- package/modules/steps/approximate.test.js.map +1 -1
- package/modules/steps/getStep.js +36 -48
- package/modules/steps/getStep.js.map +1 -1
- package/modules/steps/getStep.test.js +6 -2
- package/modules/steps/getStep.test.js.map +1 -1
- package/modules/steps/getStepDenominator.js +2 -3
- package/modules/steps/getStepDenominator.js.map +1 -1
- package/modules/steps/getStepDenominator.test.js.map +1 -1
- package/modules/steps/getStepMinTime.js +17 -29
- package/modules/steps/getStepMinTime.js.map +1 -1
- package/modules/steps/getStepMinTime.test.js.map +1 -1
- package/modules/steps/getTimeToNextUpdate.js +19 -31
- package/modules/steps/getTimeToNextUpdate.js.map +1 -1
- package/modules/steps/getTimeToNextUpdate.test.js +27 -18
- package/modules/steps/getTimeToNextUpdate.test.js.map +1 -1
- package/modules/steps/getTimeToNextUpdateForUnit.js +4 -10
- package/modules/steps/getTimeToNextUpdateForUnit.js.map +1 -1
- package/modules/steps/getTimeToNextUpdateForUnit.test.js +0 -4
- package/modules/steps/getTimeToNextUpdateForUnit.test.js.map +1 -1
- package/modules/steps/helpers.js +1 -1
- package/modules/steps/helpers.js.map +1 -1
- package/modules/steps/helpers.test.js.map +1 -1
- package/modules/steps/index.js +2 -1
- package/modules/steps/index.js.map +1 -1
- package/modules/steps/renameLegacyProperties.js +6 -13
- package/modules/steps/renameLegacyProperties.js.map +1 -1
- package/modules/steps/renameLegacyProperties.test.js.map +1 -1
- package/modules/steps/round.js.map +1 -1
- package/modules/steps/round.test.js +0 -3
- package/modules/steps/round.test.js.map +1 -1
- package/modules/steps/units.js +5 -9
- package/modules/steps/units.js.map +1 -1
- package/modules/style/approximate.js +5 -1
- package/modules/style/approximate.js.map +1 -1
- package/modules/style/approximateTime.js +6 -2
- package/modules/style/approximateTime.js.map +1 -1
- package/modules/style/approximateTime.test.js +115 -70
- package/modules/style/approximateTime.test.js.map +1 -1
- package/modules/style/getStyleByName.js +4 -17
- package/modules/style/getStyleByName.js.map +1 -1
- package/modules/style/mini.js +8 -4
- package/modules/style/mini.js.map +1 -1
- package/modules/style/mini.test.js +14 -20
- package/modules/style/mini.test.js.map +1 -1
- package/modules/style/miniMinute.js +6 -6
- package/modules/style/miniMinute.js.map +1 -1
- package/modules/style/miniMinute.test.js +10 -12
- package/modules/style/miniMinute.test.js.map +1 -1
- package/modules/style/miniMinuteNow.js +6 -6
- package/modules/style/miniMinuteNow.js.map +1 -1
- package/modules/style/miniMinuteNow.test.js +10 -12
- package/modules/style/miniMinuteNow.test.js.map +1 -1
- package/modules/style/miniNow.js +6 -6
- package/modules/style/miniNow.js.map +1 -1
- package/modules/style/miniNow.test.js +10 -12
- package/modules/style/miniNow.test.js.map +1 -1
- package/modules/style/renameLegacyProperties.js +8 -10
- package/modules/style/renameLegacyProperties.js.map +1 -1
- package/modules/style/renameLegacyProperties.test.js +0 -1
- package/modules/style/renameLegacyProperties.test.js.map +1 -1
- package/modules/style/round.js +3 -2
- package/modules/style/round.js.map +1 -1
- package/modules/style/round.test.js +50 -62
- package/modules/style/round.test.js.map +1 -1
- package/modules/style/roundMinute.js +8 -7
- package/modules/style/roundMinute.js.map +1 -1
- package/modules/style/roundMinute.test.js +19 -22
- package/modules/style/roundMinute.test.js.map +1 -1
- package/modules/style/twitter.js +35 -32
- package/modules/style/twitter.js.map +1 -1
- package/modules/style/twitter.test.js +48 -50
- package/modules/style/twitter.test.js.map +1 -1
- package/modules/style/twitterFirstMinute.js +8 -7
- package/modules/style/twitterFirstMinute.js.map +1 -1
- package/modules/style/twitterFirstMinute.test.js +15 -18
- package/modules/style/twitterFirstMinute.test.js.map +1 -1
- package/modules/style/twitterMinute.js +6 -6
- package/modules/style/twitterMinute.js.map +1 -1
- package/modules/style/twitterMinute.test.js +19 -20
- package/modules/style/twitterMinute.test.js.map +1 -1
- package/modules/style/twitterMinuteNow.js +6 -6
- package/modules/style/twitterMinuteNow.js.map +1 -1
- package/modules/style/twitterMinuteNow.test.js +19 -20
- package/modules/style/twitterMinuteNow.test.js.map +1 -1
- package/modules/style/twitterNow.js +6 -6
- package/modules/style/twitterNow.js.map +1 -1
- package/modules/style/twitterNow.test.js +17 -19
- package/modules/style/twitterNow.test.js.map +1 -1
- package/package.json +261 -4
|
@@ -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' 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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"}
|
|
1
|
+
{"version":3,"file":"TimeAgo.test.js","names":["_TimeAgo","_interopRequireDefault","require","_LocaleDataStore","_en","e","__esModule","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","_ref","time","date","locale","_ref2","style2","style","unit","factor","include","secondLabels","second","getTimeToNextUpdate","round","deep","minTime","_ref3","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' 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\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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","ignoreList":[]}
|
package/commonjs/cache.js
CHANGED
|
@@ -4,15 +4,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
|
-
function
|
|
9
|
-
|
|
10
|
-
function
|
|
11
|
-
|
|
12
|
-
function
|
|
13
|
-
|
|
14
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
15
|
-
|
|
7
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
8
|
+
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
9
|
+
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
|
|
10
|
+
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
11
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
12
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
16
13
|
/**
|
|
17
14
|
* A basic in-memory cache.
|
|
18
15
|
*
|
|
@@ -20,32 +17,25 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
|
20
17
|
* const cache = new Cache()
|
|
21
18
|
* const object = cache.get('key1', 'key2', ...) || cache.put('key1', 'key2', ..., createObject())
|
|
22
19
|
*/
|
|
23
|
-
var Cache = /*#__PURE__*/function () {
|
|
20
|
+
var Cache = exports["default"] = /*#__PURE__*/function () {
|
|
24
21
|
function Cache() {
|
|
25
22
|
_classCallCheck(this, Cache);
|
|
26
|
-
|
|
27
23
|
this.cache = {};
|
|
28
24
|
}
|
|
29
|
-
|
|
30
25
|
_createClass(Cache, [{
|
|
31
26
|
key: "get",
|
|
32
27
|
value: function get() {
|
|
33
28
|
var cache = this.cache;
|
|
34
|
-
|
|
35
29
|
for (var _len = arguments.length, keys = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
36
30
|
keys[_key] = arguments[_key];
|
|
37
31
|
}
|
|
38
|
-
|
|
39
32
|
for (var _i = 0, _keys = keys; _i < _keys.length; _i++) {
|
|
40
33
|
var key = _keys[_i];
|
|
41
|
-
|
|
42
34
|
if (_typeof(cache) !== 'object') {
|
|
43
35
|
return;
|
|
44
36
|
}
|
|
45
|
-
|
|
46
37
|
cache = cache[key];
|
|
47
38
|
}
|
|
48
|
-
|
|
49
39
|
return cache;
|
|
50
40
|
}
|
|
51
41
|
}, {
|
|
@@ -54,27 +44,19 @@ var Cache = /*#__PURE__*/function () {
|
|
|
54
44
|
for (var _len2 = arguments.length, keys = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
55
45
|
keys[_key2] = arguments[_key2];
|
|
56
46
|
}
|
|
57
|
-
|
|
58
47
|
var value = keys.pop();
|
|
59
48
|
var lastKey = keys.pop();
|
|
60
49
|
var cache = this.cache;
|
|
61
|
-
|
|
62
50
|
for (var _i2 = 0, _keys2 = keys; _i2 < _keys2.length; _i2++) {
|
|
63
51
|
var key = _keys2[_i2];
|
|
64
|
-
|
|
65
52
|
if (_typeof(cache[key]) !== 'object') {
|
|
66
53
|
cache[key] = {};
|
|
67
54
|
}
|
|
68
|
-
|
|
69
55
|
cache = cache[key];
|
|
70
56
|
}
|
|
71
|
-
|
|
72
57
|
return cache[lastKey] = value;
|
|
73
58
|
}
|
|
74
59
|
}]);
|
|
75
|
-
|
|
76
60
|
return Cache;
|
|
77
61
|
}();
|
|
78
|
-
|
|
79
|
-
exports["default"] = Cache;
|
|
80
62
|
//# sourceMappingURL=cache.js.map
|
package/commonjs/cache.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","names":["Cache","cache","
|
|
1
|
+
{"version":3,"file":"cache.js","names":["Cache","exports","_classCallCheck","cache","_createClass","key","value","get","_len","arguments","length","keys","Array","_key","_i","_keys","_typeof","put","_len2","_key2","pop","lastKey","_i2","_keys2"],"sources":["../source/cache.js"],"sourcesContent":["/**\r\n * A basic in-memory cache.\r\n *\r\n * import Cache from 'javascript-time-ago/Cache'\r\n * const cache = new Cache()\r\n * const object = cache.get('key1', 'key2', ...) || cache.put('key1', 'key2', ..., createObject())\r\n */\r\nexport default class Cache {\r\n\tconstructor() {\r\n\t\tthis.cache = {}\r\n\t}\r\n\r\n\tget(...keys) {\r\n\t\tlet cache = this.cache\r\n\t\tfor (const key of keys) {\r\n\t\t\tif (typeof cache !== 'object') {\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tcache = cache[key]\r\n\t\t}\r\n\t\treturn cache\r\n\t}\r\n\r\n\tput(...keys) {\r\n\t\tconst value = keys.pop()\r\n\t\tconst lastKey = keys.pop()\r\n\t\tlet cache = this.cache\r\n\t\tfor (const key of keys) {\r\n\t\t\tif (typeof cache[key] !== 'object') {\r\n\t\t\t\tcache[key] = {}\r\n\t\t\t}\r\n\t\t\tcache = cache[key]\r\n\t\t}\r\n\t\treturn cache[lastKey] = value\r\n\t}\r\n}"],"mappings":";;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AANA,IAOqBA,KAAK,GAAAC,OAAA;EACzB,SAAAD,MAAA,EAAc;IAAAE,eAAA,OAAAF,KAAA;IACb,IAAI,CAACG,KAAK,GAAG,CAAC,CAAC;EAChB;EAACC,YAAA,CAAAJ,KAAA;IAAAK,GAAA;IAAAC,KAAA,EAED,SAAAC,IAAA,EAAa;MACZ,IAAIJ,KAAK,GAAG,IAAI,CAACA,KAAK;MAAA,SAAAK,IAAA,GAAAC,SAAA,CAAAC,MAAA,EADhBC,IAAI,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;QAAJF,IAAI,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;MAAA;MAEV,SAAAC,EAAA,MAAAC,KAAA,GAAkBJ,IAAI,EAAAG,EAAA,GAAAC,KAAA,CAAAL,MAAA,EAAAI,EAAA,IAAE;QAAnB,IAAMT,GAAG,GAAAU,KAAA,CAAAD,EAAA;QACb,IAAIE,OAAA,CAAOb,KAAK,MAAK,QAAQ,EAAE;UAC9B;QACD;QACAA,KAAK,GAAGA,KAAK,CAACE,GAAG,CAAC;MACnB;MACA,OAAOF,KAAK;IACb;EAAC;IAAAE,GAAA;IAAAC,KAAA,EAED,SAAAW,IAAA,EAAa;MAAA,SAAAC,KAAA,GAAAT,SAAA,CAAAC,MAAA,EAANC,IAAI,OAAAC,KAAA,CAAAM,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;QAAJR,IAAI,CAAAQ,KAAA,IAAAV,SAAA,CAAAU,KAAA;MAAA;MACV,IAAMb,KAAK,GAAGK,IAAI,CAACS,GAAG,CAAC,CAAC;MACxB,IAAMC,OAAO,GAAGV,IAAI,CAACS,GAAG,CAAC,CAAC;MAC1B,IAAIjB,KAAK,GAAG,IAAI,CAACA,KAAK;MACtB,SAAAmB,GAAA,MAAAC,MAAA,GAAkBZ,IAAI,EAAAW,GAAA,GAAAC,MAAA,CAAAb,MAAA,EAAAY,GAAA,IAAE;QAAnB,IAAMjB,GAAG,GAAAkB,MAAA,CAAAD,GAAA;QACb,IAAIN,OAAA,CAAOb,KAAK,CAACE,GAAG,CAAC,MAAK,QAAQ,EAAE;UACnCF,KAAK,CAACE,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB;QACAF,KAAK,GAAGA,KAAK,CAACE,GAAG,CAAC;MACnB;MACA,OAAOF,KAAK,CAACkB,OAAO,CAAC,GAAGf,KAAK;IAC9B;EAAC;EAAA,OAAAN,KAAA;AAAA","ignoreList":[]}
|
package/commonjs/cache.test.js
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _cache = _interopRequireDefault(require("./cache.js"));
|
|
4
|
-
|
|
5
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
6
|
-
|
|
4
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
7
5
|
describe('cache', function () {
|
|
8
6
|
it('should cache', function () {
|
|
9
7
|
var cache = new _cache["default"]();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.test.js","names":["describe","it","cache","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
|
|
1
|
+
{"version":3,"file":"cache.test.js","names":["_cache","_interopRequireDefault","require","e","__esModule","describe","it","cache","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,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA8B,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,gBAAAA,CAAA;AAE9BE,QAAQ,CAAC,OAAO,EAAE,YAAM;EACvBC,EAAE,CAAC,cAAc,EAAE,YAAM;IACxB,IAAMC,KAAK,GAAG,IAAIC,iBAAK,CAAC,CAAC;IAEzB,IAAMC,KAAK,GAAG,CAAC,CAAC;IAChBC,MAAM,CAACH,KAAK,CAACI,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAACC,EAAE,CAACC,EAAE,CAACC,SAAS;IAC/CJ,MAAM,CAACH,KAAK,CAACQ,GAAG,CAAC,KAAK,EAAE,KAAK,EAAEN,KAAK,CAAC,CAAC,CAACG,EAAE,CAACI,KAAK,CAACP,KAAK,CAAC;IACtDC,MAAM,CAACH,KAAK,CAACI,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAACC,EAAE,CAACI,KAAK,CAACP,KAAK,CAAC;IAE/CC,MAAM,CAACH,KAAK,CAACQ,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAACH,EAAE,CAACI,KAAK,CAAC,GAAG,CAAC;EACnD,CAAC,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
|
|
@@ -4,19 +4,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = isStyleObject;
|
|
7
|
-
|
|
8
|
-
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
9
|
-
|
|
7
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
10
8
|
function isStyleObject(object) {
|
|
11
|
-
return isObject(object) && (Array.isArray(object.steps) ||
|
|
12
|
-
|
|
13
|
-
Array.isArray(object.
|
|
14
|
-
|
|
9
|
+
return isObject(object) && (Array.isArray(object.steps) ||
|
|
10
|
+
// `gradation` property is deprecated: it has been renamed to `steps`.
|
|
11
|
+
Array.isArray(object.gradation) ||
|
|
12
|
+
// `flavour` property is deprecated: it has been renamed to `labels`.
|
|
13
|
+
Array.isArray(object.flavour) || typeof object.flavour === 'string' || Array.isArray(object.labels) || typeof object.labels === 'string' ||
|
|
14
|
+
// `units` property is deprecated.
|
|
15
|
+
Array.isArray(object.units) ||
|
|
16
|
+
// `custom` property is deprecated.
|
|
15
17
|
typeof object.custom === 'function');
|
|
16
18
|
}
|
|
17
|
-
|
|
18
19
|
var OBJECT_CONSTRUCTOR = {}.constructor;
|
|
19
|
-
|
|
20
20
|
function isObject(object) {
|
|
21
21
|
return _typeof(object) !== undefined && object !== null && object.constructor === OBJECT_CONSTRUCTOR;
|
|
22
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isStyleObject.js","names":["isStyleObject","object","isObject","Array","isArray","steps","gradation","flavour","labels","units","custom","OBJECT_CONSTRUCTOR","constructor","undefined"],"sources":["../source/isStyleObject.js"],"sourcesContent":["export default function isStyleObject(object) {\r\n\treturn isObject(object) && (\r\n\t\tArray.isArray(object.steps) ||\r\n\t\t// `gradation` property is deprecated: it has been renamed to `steps`.\r\n\t\tArray.isArray(object.gradation) ||\r\n\t\t// `flavour` property is deprecated: it has been renamed to `labels`.\r\n\t\tArray.isArray(object.flavour) ||\r\n\t\ttypeof object.flavour === 'string' ||\r\n\t\tArray.isArray(object.labels) ||\r\n\t\ttypeof object.labels === 'string' ||\r\n\t\t// `units` property is deprecated.\r\n\t\tArray.isArray(object.units) ||\r\n\t\t// `custom` property is deprecated.\r\n\t\ttypeof object.custom === 'function'\r\n\t)\r\n}\r\n\r\nconst OBJECT_CONSTRUCTOR = {}.constructor\r\nfunction isObject(object) {\r\n\treturn typeof object !== undefined && object !== null && object.constructor === OBJECT_CONSTRUCTOR\r\n}"],"mappings":"
|
|
1
|
+
{"version":3,"file":"isStyleObject.js","names":["isStyleObject","object","isObject","Array","isArray","steps","gradation","flavour","labels","units","custom","OBJECT_CONSTRUCTOR","constructor","_typeof","undefined"],"sources":["../source/isStyleObject.js"],"sourcesContent":["export default function isStyleObject(object) {\r\n\treturn isObject(object) && (\r\n\t\tArray.isArray(object.steps) ||\r\n\t\t// `gradation` property is deprecated: it has been renamed to `steps`.\r\n\t\tArray.isArray(object.gradation) ||\r\n\t\t// `flavour` property is deprecated: it has been renamed to `labels`.\r\n\t\tArray.isArray(object.flavour) ||\r\n\t\ttypeof object.flavour === 'string' ||\r\n\t\tArray.isArray(object.labels) ||\r\n\t\ttypeof object.labels === 'string' ||\r\n\t\t// `units` property is deprecated.\r\n\t\tArray.isArray(object.units) ||\r\n\t\t// `custom` property is deprecated.\r\n\t\ttypeof object.custom === 'function'\r\n\t)\r\n}\r\n\r\nconst OBJECT_CONSTRUCTOR = {}.constructor\r\nfunction isObject(object) {\r\n\treturn typeof object !== undefined && object !== null && object.constructor === OBJECT_CONSTRUCTOR\r\n}"],"mappings":";;;;;;;AAAe,SAASA,aAAaA,CAACC,MAAM,EAAE;EAC7C,OAAOC,QAAQ,CAACD,MAAM,CAAC,KACtBE,KAAK,CAACC,OAAO,CAACH,MAAM,CAACI,KAAK,CAAC;EAC3B;EACAF,KAAK,CAACC,OAAO,CAACH,MAAM,CAACK,SAAS,CAAC;EAC/B;EACAH,KAAK,CAACC,OAAO,CAACH,MAAM,CAACM,OAAO,CAAC,IAC7B,OAAON,MAAM,CAACM,OAAO,KAAK,QAAQ,IAClCJ,KAAK,CAACC,OAAO,CAACH,MAAM,CAACO,MAAM,CAAC,IAC5B,OAAOP,MAAM,CAACO,MAAM,KAAK,QAAQ;EACjC;EACAL,KAAK,CAACC,OAAO,CAACH,MAAM,CAACQ,KAAK,CAAC;EAC3B;EACA,OAAOR,MAAM,CAACS,MAAM,KAAK,UAAU,CACnC;AACF;AAEA,IAAMC,kBAAkB,GAAG,CAAC,CAAC,CAACC,WAAW;AACzC,SAASV,QAAQA,CAACD,MAAM,EAAE;EACzB,OAAOY,OAAA,CAAOZ,MAAM,MAAKa,SAAS,IAAIb,MAAM,KAAK,IAAI,IAAIA,MAAM,CAACW,WAAW,KAAKD,kBAAkB;AACnG","ignoreList":[]}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _isStyleObject = _interopRequireDefault(require("./isStyleObject.js"));
|
|
4
|
-
|
|
5
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
6
|
-
|
|
4
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
7
5
|
describe('isStyleObject', function () {
|
|
8
6
|
it('should detect a style object', function () {
|
|
9
7
|
(0, _isStyleObject["default"])({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isStyleObject.test.js","names":["describe","it","isStyleObject","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
|
|
1
|
+
{"version":3,"file":"isStyleObject.test.js","names":["_isStyleObject","_interopRequireDefault","require","e","__esModule","describe","it","isStyleObject","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,IAAAA,cAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA8C,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,gBAAAA,CAAA;AAE9CE,QAAQ,CAAC,eAAe,EAAE,YAAM;EAC/BC,EAAE,CAAC,8BAA8B,EAAE,YAAM;IACxC,IAAAC,yBAAa,EAAC;MACbC,SAAS,EAAE;IACZ,CAAC,CAAC,CAACC,MAAM,CAACC,KAAK,CAAC,IAAI,CAAC;IACrB,IAAAH,yBAAa,EAAC;MACbI,KAAK,EAAE;IACR,CAAC,CAAC,CAACF,MAAM,CAACC,KAAK,CAAC,IAAI,CAAC;IACrB,IAAAH,yBAAa,EAAC;MACbK,OAAO,EAAE;IACV,CAAC,CAAC,CAACH,MAAM,CAACC,KAAK,CAAC,IAAI,CAAC;IACrB,IAAAH,yBAAa,EAAC;MACbK,OAAO,EAAE,CAAC,MAAM;IACjB,CAAC,CAAC,CAACH,MAAM,CAACC,KAAK,CAAC,IAAI,CAAC;IACrB,IAAAH,yBAAa,EAAC;MACbM,MAAM,EAAE;IACT,CAAC,CAAC,CAACJ,MAAM,CAACC,KAAK,CAAC,IAAI,CAAC;IACrB,IAAAH,yBAAa,EAAC;MACbM,MAAM,EAAE,CAAC,MAAM;IAChB,CAAC,CAAC,CAACJ,MAAM,CAACC,KAAK,CAAC,IAAI,CAAC;IACrB,IAAAH,yBAAa,EAAC;MACbO,KAAK,EAAE,CAAC,KAAK;IACd,CAAC,CAAC,CAACL,MAAM,CAACC,KAAK,CAAC,IAAI,CAAC;IACrB,IAAAH,yBAAa,EAAC;MACbQ,MAAM,EAAE,IAAI;MACZC,KAAK,EAAE,OAAO;MACdC,GAAG,EAAE,CAAC;MACNC,mBAAmB,EAAE;IACtB,CAAC,CAAC,CAACT,MAAM,CAACC,KAAK,CAAC,KAAK,CAAC;IACtB,IAAAH,yBAAa,EAAC,OAAO,CAAC,CAACE,MAAM,CAACC,KAAK,CAAC,KAAK,CAAC;EAC3C,CAAC,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
|
package/commonjs/locale.js
CHANGED
|
@@ -6,15 +6,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports["default"] = chooseLocale;
|
|
7
7
|
exports.intlDateTimeFormatSupported = intlDateTimeFormatSupported;
|
|
8
8
|
exports.intlDateTimeFormatSupportedLocale = intlDateTimeFormatSupportedLocale;
|
|
9
|
-
|
|
10
|
-
function
|
|
11
|
-
|
|
12
|
-
function
|
|
13
|
-
|
|
14
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
15
|
-
|
|
16
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
17
|
-
|
|
9
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
10
|
+
function _createForOfIteratorHelperLoose(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (t) return (t = t.call(r)).next.bind(t); if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var o = 0; return function () { return o >= r.length ? { done: !0 } : { done: !1, value: r[o++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
11
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
12
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) { n[e] = r[e]; } return n; }
|
|
18
13
|
/**
|
|
19
14
|
* Chooses the most appropriate locale
|
|
20
15
|
* (one of the registered ones)
|
|
@@ -35,49 +30,41 @@ function chooseLocale(locales, isLocaleDataAvailable) {
|
|
|
35
30
|
// `sr-Cyrl-BA` -> `sr-Cyrl` -> `sr`.
|
|
36
31
|
for (var _iterator = _createForOfIteratorHelperLoose(locales), _step; !(_step = _iterator()).done;) {
|
|
37
32
|
var locale = _step.value;
|
|
38
|
-
|
|
39
33
|
if (isLocaleDataAvailable(locale)) {
|
|
40
34
|
return locale;
|
|
41
35
|
}
|
|
42
|
-
|
|
43
36
|
var parts = locale.split('-');
|
|
44
|
-
|
|
45
37
|
while (parts.length > 1) {
|
|
46
38
|
parts.pop();
|
|
47
39
|
locale = parts.join('-');
|
|
48
|
-
|
|
49
40
|
if (isLocaleDataAvailable(locale)) {
|
|
50
41
|
return locale;
|
|
51
42
|
}
|
|
52
43
|
}
|
|
53
44
|
}
|
|
54
|
-
|
|
55
45
|
throw new Error("No locale data has been registered for any of the locales: ".concat(locales.join(', ')));
|
|
56
46
|
}
|
|
47
|
+
|
|
57
48
|
/**
|
|
58
49
|
* Whether can use `Intl.DateTimeFormat` for these `locales`.
|
|
59
50
|
* Returns the first suitable one.
|
|
60
51
|
* @param {(string|string[])} locales
|
|
61
52
|
* @return {?string} The first locale that can be used.
|
|
62
53
|
*/
|
|
63
|
-
|
|
64
|
-
|
|
65
54
|
function intlDateTimeFormatSupportedLocale(locales) {
|
|
66
55
|
/* istanbul ignore else */
|
|
67
56
|
if (intlDateTimeFormatSupported()) {
|
|
68
57
|
return Intl.DateTimeFormat.supportedLocalesOf(locales)[0];
|
|
69
58
|
}
|
|
70
59
|
}
|
|
60
|
+
|
|
71
61
|
/**
|
|
72
62
|
* Whether can use `Intl.DateTimeFormat`.
|
|
73
63
|
* @return {boolean}
|
|
74
64
|
*/
|
|
75
|
-
|
|
76
|
-
|
|
77
65
|
function intlDateTimeFormatSupported() {
|
|
78
66
|
// Babel transforms `typeof` into some "branches"
|
|
79
67
|
// so istanbul will show this as "branch not covered".
|
|
80
|
-
|
|
81
68
|
/* istanbul ignore next */
|
|
82
69
|
var isIntlAvailable = (typeof Intl === "undefined" ? "undefined" : _typeof(Intl)) === 'object';
|
|
83
70
|
return isIntlAvailable && typeof Intl.DateTimeFormat === 'function';
|
package/commonjs/locale.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locale.js","names":["chooseLocale","locales","isLocaleDataAvailable","locale","parts","split","length","pop","join","Error","intlDateTimeFormatSupportedLocale","intlDateTimeFormatSupported","Intl","DateTimeFormat","supportedLocalesOf","isIntlAvailable"],"sources":["../source/locale.js"],"sourcesContent":["/**\r\n * Chooses the most appropriate locale\r\n * (one of the registered ones)\r\n * based on the list of preferred `locales` supplied by the user.\r\n *\r\n * @param {string[]} locales - the list of preferable locales (in [IETF format](https://en.wikipedia.org/wiki/IETF_language_tag)).\r\n * @param {Function} isLocaleDataAvailable - tests if a locale is available.\r\n *\r\n * @returns {string} The most suitable locale.\r\n *\r\n * @example\r\n * // Returns 'en'\r\n * chooseLocale(['en-US'], undefined, (locale) => locale === 'ru' || locale === 'en')\r\n */\r\nexport default function chooseLocale(locales, isLocaleDataAvailable) {\r\n\t// This is not an intelligent algorithm,\r\n\t// but it will do for this library's case.\r\n\t// `sr-Cyrl-BA` -> `sr-Cyrl` -> `sr`.\r\n\tfor (let locale of locales) {\r\n\t\tif (isLocaleDataAvailable(locale)) {\r\n\t\t\treturn locale\r\n\t\t}\r\n\t\tconst parts = locale.split('-')\r\n\t\twhile (parts.length > 1) {\r\n\t\t\tparts.pop()\r\n\t\t\tlocale = parts.join('-')\r\n\t\t\tif (isLocaleDataAvailable(locale)) {\r\n\t\t\t\treturn locale\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tthrow new Error(`No locale data has been registered for any of the locales: ${locales.join(', ')}`)\r\n}\r\n\r\n/**\r\n * Whether can use `Intl.DateTimeFormat` for these `locales`.\r\n * Returns the first suitable one.\r\n * @param {(string|string[])} locales\r\n * @return {?string} The first locale that can be used.\r\n */\r\nexport function intlDateTimeFormatSupportedLocale(locales) {\r\n\t/* istanbul ignore else */\r\n\tif (intlDateTimeFormatSupported()) {\r\n\t\treturn Intl.DateTimeFormat.supportedLocalesOf(locales)[0]\r\n\t}\r\n}\r\n\r\n/**\r\n * Whether can use `Intl.DateTimeFormat`.\r\n * @return {boolean}\r\n */\r\nexport function intlDateTimeFormatSupported() {\r\n\t// Babel transforms `typeof` into some \"branches\"\r\n\t// so istanbul will show this as \"branch not covered\".\r\n\t/* istanbul ignore next */\r\n\tconst isIntlAvailable = typeof Intl === 'object'\r\n\treturn isIntlAvailable && typeof Intl.DateTimeFormat === 'function'\r\n}\r\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"locale.js","names":["chooseLocale","locales","isLocaleDataAvailable","_iterator","_createForOfIteratorHelperLoose","_step","done","locale","value","parts","split","length","pop","join","Error","concat","intlDateTimeFormatSupportedLocale","intlDateTimeFormatSupported","Intl","DateTimeFormat","supportedLocalesOf","isIntlAvailable","_typeof"],"sources":["../source/locale.js"],"sourcesContent":["/**\r\n * Chooses the most appropriate locale\r\n * (one of the registered ones)\r\n * based on the list of preferred `locales` supplied by the user.\r\n *\r\n * @param {string[]} locales - the list of preferable locales (in [IETF format](https://en.wikipedia.org/wiki/IETF_language_tag)).\r\n * @param {Function} isLocaleDataAvailable - tests if a locale is available.\r\n *\r\n * @returns {string} The most suitable locale.\r\n *\r\n * @example\r\n * // Returns 'en'\r\n * chooseLocale(['en-US'], undefined, (locale) => locale === 'ru' || locale === 'en')\r\n */\r\nexport default function chooseLocale(locales, isLocaleDataAvailable) {\r\n\t// This is not an intelligent algorithm,\r\n\t// but it will do for this library's case.\r\n\t// `sr-Cyrl-BA` -> `sr-Cyrl` -> `sr`.\r\n\tfor (let locale of locales) {\r\n\t\tif (isLocaleDataAvailable(locale)) {\r\n\t\t\treturn locale\r\n\t\t}\r\n\t\tconst parts = locale.split('-')\r\n\t\twhile (parts.length > 1) {\r\n\t\t\tparts.pop()\r\n\t\t\tlocale = parts.join('-')\r\n\t\t\tif (isLocaleDataAvailable(locale)) {\r\n\t\t\t\treturn locale\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tthrow new Error(`No locale data has been registered for any of the locales: ${locales.join(', ')}`)\r\n}\r\n\r\n/**\r\n * Whether can use `Intl.DateTimeFormat` for these `locales`.\r\n * Returns the first suitable one.\r\n * @param {(string|string[])} locales\r\n * @return {?string} The first locale that can be used.\r\n */\r\nexport function intlDateTimeFormatSupportedLocale(locales) {\r\n\t/* istanbul ignore else */\r\n\tif (intlDateTimeFormatSupported()) {\r\n\t\treturn Intl.DateTimeFormat.supportedLocalesOf(locales)[0]\r\n\t}\r\n}\r\n\r\n/**\r\n * Whether can use `Intl.DateTimeFormat`.\r\n * @return {boolean}\r\n */\r\nexport function intlDateTimeFormatSupported() {\r\n\t// Babel transforms `typeof` into some \"branches\"\r\n\t// so istanbul will show this as \"branch not covered\".\r\n\t/* istanbul ignore next */\r\n\tconst isIntlAvailable = typeof Intl === 'object'\r\n\treturn isIntlAvailable && typeof Intl.DateTimeFormat === 'function'\r\n}\r\n"],"mappings":";;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,YAAYA,CAACC,OAAO,EAAEC,qBAAqB,EAAE;EACpE;EACA;EACA;EACA,SAAAC,SAAA,GAAAC,+BAAA,CAAmBH,OAAO,GAAAI,KAAA,IAAAA,KAAA,GAAAF,SAAA,IAAAG,IAAA,GAAE;IAAA,IAAnBC,MAAM,GAAAF,KAAA,CAAAG,KAAA;IACd,IAAIN,qBAAqB,CAACK,MAAM,CAAC,EAAE;MAClC,OAAOA,MAAM;IACd;IACA,IAAME,KAAK,GAAGF,MAAM,CAACG,KAAK,CAAC,GAAG,CAAC;IAC/B,OAAOD,KAAK,CAACE,MAAM,GAAG,CAAC,EAAE;MACxBF,KAAK,CAACG,GAAG,CAAC,CAAC;MACXL,MAAM,GAAGE,KAAK,CAACI,IAAI,CAAC,GAAG,CAAC;MACxB,IAAIX,qBAAqB,CAACK,MAAM,CAAC,EAAE;QAClC,OAAOA,MAAM;MACd;IACD;EACD;EAEA,MAAM,IAAIO,KAAK,+DAAAC,MAAA,CAA+Dd,OAAO,CAACY,IAAI,CAAC,IAAI,CAAC,CAAE,CAAC;AACpG;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASG,iCAAiCA,CAACf,OAAO,EAAE;EAC1D;EACA,IAAIgB,2BAA2B,CAAC,CAAC,EAAE;IAClC,OAAOC,IAAI,CAACC,cAAc,CAACC,kBAAkB,CAACnB,OAAO,CAAC,CAAC,CAAC,CAAC;EAC1D;AACD;;AAEA;AACA;AACA;AACA;AACO,SAASgB,2BAA2BA,CAAA,EAAG;EAC7C;EACA;EACA;EACA,IAAMI,eAAe,GAAG,QAAOH,IAAI,iCAAAI,OAAA,CAAJJ,IAAI,OAAK,QAAQ;EAChD,OAAOG,eAAe,IAAI,OAAOH,IAAI,CAACC,cAAc,KAAK,UAAU;AACpE","ignoreList":[]}
|
package/commonjs/locale.test.js
CHANGED
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(
|
|
4
|
-
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
5
4
|
var _locale = _interopRequireWildcard(require("./locale.js"));
|
|
6
|
-
|
|
7
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
8
|
-
|
|
9
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
10
|
-
|
|
5
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) { "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); } return f; })(e, t); }
|
|
11
6
|
describe('locale', function () {
|
|
12
7
|
it("should tell if can use Intl for date formatting", function () {
|
|
13
8
|
(0, _locale.intlDateTimeFormatSupportedLocale)('en').should.equal('en');
|
|
@@ -21,20 +16,16 @@ describe('locale', function () {
|
|
|
21
16
|
return object;
|
|
22
17
|
}, {});
|
|
23
18
|
}
|
|
24
|
-
|
|
25
19
|
function choose(locale, locales) {
|
|
26
20
|
var defaultLocale = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'en';
|
|
27
|
-
|
|
28
21
|
if (typeof locale === 'string') {
|
|
29
22
|
locale = [locale];
|
|
30
23
|
}
|
|
31
|
-
|
|
32
24
|
locale = locale.concat(defaultLocale);
|
|
33
25
|
return (0, _locale["default"])(locale, function (_) {
|
|
34
26
|
return locales.includes(_);
|
|
35
27
|
});
|
|
36
28
|
}
|
|
37
|
-
|
|
38
29
|
choose('ru-RU', ['en', 'ru']).should.equal('ru');
|
|
39
30
|
choose('en-GB', ['en', 'ru']).should.equal('en');
|
|
40
31
|
choose('fr-FR', ['en', 'ru']).should.equal('en');
|