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
|
@@ -4,45 +4,38 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = getStepMinTime;
|
|
7
|
-
|
|
8
7
|
var _units = require("./units.js");
|
|
9
|
-
|
|
10
8
|
var _round = require("../round.js");
|
|
11
|
-
|
|
12
|
-
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); }
|
|
13
|
-
|
|
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); }
|
|
14
10
|
function getStepMinTime(step, _ref) {
|
|
15
11
|
var prevStep = _ref.prevStep,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
var minTime;
|
|
21
|
-
|
|
12
|
+
timestamp = _ref.timestamp,
|
|
13
|
+
now = _ref.now,
|
|
14
|
+
future = _ref.future,
|
|
15
|
+
round = _ref.round;
|
|
16
|
+
var minTime;
|
|
17
|
+
// "threshold_for_xxx" is a legacy property.
|
|
22
18
|
if (prevStep) {
|
|
23
19
|
if (prevStep.id || prevStep.unit) {
|
|
24
20
|
minTime = step["threshold_for_".concat(prevStep.id || prevStep.unit)];
|
|
25
21
|
}
|
|
26
22
|
}
|
|
27
|
-
|
|
28
23
|
if (minTime === undefined) {
|
|
29
24
|
// "threshold" is a legacy property.
|
|
30
25
|
if (step.threshold !== undefined) {
|
|
31
26
|
// "threshold" is a legacy name for "minTime".
|
|
32
|
-
minTime = step.threshold;
|
|
33
|
-
|
|
27
|
+
minTime = step.threshold;
|
|
28
|
+
// "threshold" function is deprecated.
|
|
34
29
|
if (typeof minTime === 'function') {
|
|
35
30
|
minTime = minTime(now, future);
|
|
36
31
|
}
|
|
37
32
|
}
|
|
38
33
|
}
|
|
39
|
-
|
|
40
34
|
if (minTime === undefined) {
|
|
41
35
|
minTime = step.minTime;
|
|
42
|
-
}
|
|
36
|
+
}
|
|
37
|
+
// A deprecated way of specifying a different threshold
|
|
43
38
|
// depending on the previous step's unit.
|
|
44
|
-
|
|
45
|
-
|
|
46
39
|
if (_typeof(minTime) === 'object') {
|
|
47
40
|
if (prevStep && prevStep.id && minTime[prevStep.id] !== undefined) {
|
|
48
41
|
minTime = minTime[prevStep.id];
|
|
@@ -50,7 +43,6 @@ function getStepMinTime(step, _ref) {
|
|
|
50
43
|
minTime = minTime["default"];
|
|
51
44
|
}
|
|
52
45
|
}
|
|
53
|
-
|
|
54
46
|
if (typeof minTime === 'function') {
|
|
55
47
|
minTime = minTime(timestamp, {
|
|
56
48
|
future: future,
|
|
@@ -60,10 +52,9 @@ function getStepMinTime(step, _ref) {
|
|
|
60
52
|
});
|
|
61
53
|
}
|
|
62
54
|
});
|
|
63
|
-
}
|
|
55
|
+
}
|
|
56
|
+
// Evaluate the `test()` function.
|
|
64
57
|
// `test()` function is deprecated.
|
|
65
|
-
|
|
66
|
-
|
|
67
58
|
if (minTime === undefined) {
|
|
68
59
|
if (step.test) {
|
|
69
60
|
if (step.test(timestamp, {
|
|
@@ -78,7 +69,6 @@ function getStepMinTime(step, _ref) {
|
|
|
78
69
|
}
|
|
79
70
|
}
|
|
80
71
|
}
|
|
81
|
-
|
|
82
72
|
if (minTime === undefined) {
|
|
83
73
|
if (prevStep) {
|
|
84
74
|
if (step.formatAs && prevStep.formatAs) {
|
|
@@ -90,33 +80,28 @@ function getStepMinTime(step, _ref) {
|
|
|
90
80
|
// The first step's `minTime` is `0` by default.
|
|
91
81
|
minTime = 0;
|
|
92
82
|
}
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
|
|
83
|
+
}
|
|
84
|
+
// Warn if no `minTime` was defined or could be deduced.
|
|
96
85
|
if (minTime === undefined) {
|
|
97
86
|
console.warn('[javascript-time-ago] A step should specify `minTime`:\n' + JSON.stringify(step, null, 2));
|
|
98
87
|
}
|
|
99
|
-
|
|
100
88
|
return minTime;
|
|
101
89
|
}
|
|
102
|
-
|
|
103
90
|
function _getMinTimeForUnit(toUnit, fromUnit, _ref2) {
|
|
104
91
|
var round = _ref2.round;
|
|
105
|
-
var toUnitAmount = (0, _units.getSecondsInUnit)(toUnit);
|
|
92
|
+
var toUnitAmount = (0, _units.getSecondsInUnit)(toUnit);
|
|
93
|
+
// if (!fromUnit) {
|
|
106
94
|
// return toUnitAmount;
|
|
107
95
|
// }
|
|
108
96
|
// if (!fromUnit) {
|
|
109
97
|
// fromUnit = getPreviousUnitFor(toUnit)
|
|
110
98
|
// }
|
|
111
|
-
|
|
112
99
|
var fromUnitAmount;
|
|
113
|
-
|
|
114
100
|
if (fromUnit === 'now') {
|
|
115
101
|
fromUnitAmount = (0, _units.getSecondsInUnit)(toUnit);
|
|
116
102
|
} else {
|
|
117
103
|
fromUnitAmount = (0, _units.getSecondsInUnit)(fromUnit);
|
|
118
104
|
}
|
|
119
|
-
|
|
120
105
|
if (toUnitAmount !== undefined && fromUnitAmount !== undefined) {
|
|
121
106
|
return toUnitAmount - fromUnitAmount * (1 - (0, _round.getDiffRatioToNextRoundedNumber)(round));
|
|
122
107
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getStepMinTime.js","names":["getStepMinTime","step","prevStep","timestamp","now","future","round","minTime","id","unit","undefined","threshold","getMinTimeForUnit","toUnit","fromUnit","formatAs","test","console","warn","JSON","stringify","toUnitAmount","getSecondsInUnit","fromUnitAmount","getDiffRatioToNextRoundedNumber"],"sources":["../../source/steps/getStepMinTime.js"],"sourcesContent":["import { getSecondsInUnit } from './units.js'\r\nimport { getDiffRatioToNextRoundedNumber } from '../round.js'\r\n\r\nexport default function getStepMinTime(step, {\r\n\tprevStep,\r\n\ttimestamp,\r\n\t// `now` argument is used in a deprecated `step.test()` function.\r\n\tnow,\r\n\tfuture,\r\n\tround\r\n}) {\r\n\tlet minTime\r\n\t// \"threshold_for_xxx\" is a legacy property.\r\n\tif (prevStep) {\r\n\t\tif (prevStep.id || prevStep.unit) {\r\n\t\t\tminTime = step[`threshold_for_${prevStep.id || prevStep.unit}`]\r\n\t\t}\r\n\t}\r\n\tif (minTime === undefined) {\r\n\t\t// \"threshold\" is a legacy property.\r\n\t\tif (step.threshold !== undefined) {\r\n\t\t\t// \"threshold\" is a legacy name for \"minTime\".\r\n\t\t\tminTime = step.threshold\r\n\t\t\t// \"threshold\" function is deprecated.\r\n\t\t\tif (typeof minTime === 'function') {\r\n\t\t\t\tminTime = minTime(now, future)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tif (minTime === undefined) {\r\n\t\tminTime = step.minTime\r\n\t}\r\n\t// A deprecated way of specifying a different threshold\r\n\t// depending on the previous step's unit.\r\n\tif (typeof minTime === 'object') {\r\n\t\tif (prevStep && prevStep.id && minTime[prevStep.id] !== undefined) {\r\n\t\t\tminTime = minTime[prevStep.id]\r\n\t\t} else {\r\n\t\t\tminTime = minTime.default\r\n\t\t}\r\n\t}\r\n\tif (typeof minTime === 'function') {\r\n\t\tminTime = minTime(timestamp, {\r\n\t\t\tfuture,\r\n\t\t\tgetMinTimeForUnit(toUnit, fromUnit) {\r\n\t\t\t\treturn getMinTimeForUnit(\r\n\t\t\t\t\ttoUnit,\r\n\t\t\t\t\tfromUnit || prevStep && prevStep.formatAs,\r\n\t\t\t\t\t{ round }\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\t// Evaluate the `test()` function.\r\n\t// `test()` function is deprecated.\r\n\tif (minTime === undefined) {\r\n\t\tif (step.test) {\r\n\t\t\tif (step.test(timestamp, {\r\n\t\t\t\tnow,\r\n\t\t\t\tfuture\r\n\t\t\t})) {\r\n\t\t\t\t// `0` threshold always passes.\r\n\t\t\t\tminTime = 0\r\n\t\t\t} else {\r\n\t\t\t\t// `MAX_SAFE_INTEGER` threshold won't ever pass in real life.\r\n\t\t\t\tminTime = 9007199254740991 // Number.MAX_SAFE_INTEGER\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tif (minTime === undefined) {\r\n\t\tif (prevStep) {\r\n\t\t\tif (step.formatAs && prevStep.formatAs) {\r\n\t\t\t\tminTime = getMinTimeForUnit(step.formatAs, prevStep.formatAs, { round })\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t// The first step's `minTime` is `0` by default.\r\n\t\t\tminTime = 0\r\n\t\t}\r\n\t}\r\n\t// Warn if no `minTime` was defined or could be deduced.\r\n\tif (minTime === undefined) {\r\n\t\tconsole.warn('[javascript-time-ago] A step should specify `minTime`:\\n' + JSON.stringify(step, null, 2))\r\n\t}\r\n\treturn minTime\r\n}\r\n\r\nfunction getMinTimeForUnit(toUnit, fromUnit, { round }) {\r\n\tconst toUnitAmount = getSecondsInUnit(toUnit)\r\n\t// if (!fromUnit) {\r\n\t// \treturn toUnitAmount;\r\n\t// }\r\n\t// if (!fromUnit) {\r\n\t// \tfromUnit = getPreviousUnitFor(toUnit)\r\n\t// }\r\n\tlet fromUnitAmount\r\n\tif (fromUnit === 'now') {\r\n\t\tfromUnitAmount = getSecondsInUnit(toUnit)\r\n\t} else {\r\n\t\tfromUnitAmount = getSecondsInUnit(fromUnit)\r\n\t}\r\n\tif (toUnitAmount !== undefined && fromUnitAmount !== undefined) {\r\n\t\treturn toUnitAmount - fromUnitAmount * (1 - getDiffRatioToNextRoundedNumber(round))\r\n\t}\r\n}"],"mappings":"
|
|
1
|
+
{"version":3,"file":"getStepMinTime.js","names":["_units","require","_round","_typeof","o","Symbol","iterator","constructor","prototype","getStepMinTime","step","_ref","prevStep","timestamp","now","future","round","minTime","id","unit","concat","undefined","threshold","getMinTimeForUnit","toUnit","fromUnit","formatAs","test","console","warn","JSON","stringify","_ref2","toUnitAmount","getSecondsInUnit","fromUnitAmount","getDiffRatioToNextRoundedNumber"],"sources":["../../source/steps/getStepMinTime.js"],"sourcesContent":["import { getSecondsInUnit } from './units.js'\r\nimport { getDiffRatioToNextRoundedNumber } from '../round.js'\r\n\r\nexport default function getStepMinTime(step, {\r\n\tprevStep,\r\n\ttimestamp,\r\n\t// `now` argument is used in a deprecated `step.test()` function.\r\n\tnow,\r\n\tfuture,\r\n\tround\r\n}) {\r\n\tlet minTime\r\n\t// \"threshold_for_xxx\" is a legacy property.\r\n\tif (prevStep) {\r\n\t\tif (prevStep.id || prevStep.unit) {\r\n\t\t\tminTime = step[`threshold_for_${prevStep.id || prevStep.unit}`]\r\n\t\t}\r\n\t}\r\n\tif (minTime === undefined) {\r\n\t\t// \"threshold\" is a legacy property.\r\n\t\tif (step.threshold !== undefined) {\r\n\t\t\t// \"threshold\" is a legacy name for \"minTime\".\r\n\t\t\tminTime = step.threshold\r\n\t\t\t// \"threshold\" function is deprecated.\r\n\t\t\tif (typeof minTime === 'function') {\r\n\t\t\t\tminTime = minTime(now, future)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tif (minTime === undefined) {\r\n\t\tminTime = step.minTime\r\n\t}\r\n\t// A deprecated way of specifying a different threshold\r\n\t// depending on the previous step's unit.\r\n\tif (typeof minTime === 'object') {\r\n\t\tif (prevStep && prevStep.id && minTime[prevStep.id] !== undefined) {\r\n\t\t\tminTime = minTime[prevStep.id]\r\n\t\t} else {\r\n\t\t\tminTime = minTime.default\r\n\t\t}\r\n\t}\r\n\tif (typeof minTime === 'function') {\r\n\t\tminTime = minTime(timestamp, {\r\n\t\t\tfuture,\r\n\t\t\tgetMinTimeForUnit(toUnit, fromUnit) {\r\n\t\t\t\treturn getMinTimeForUnit(\r\n\t\t\t\t\ttoUnit,\r\n\t\t\t\t\tfromUnit || prevStep && prevStep.formatAs,\r\n\t\t\t\t\t{ round }\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\t// Evaluate the `test()` function.\r\n\t// `test()` function is deprecated.\r\n\tif (minTime === undefined) {\r\n\t\tif (step.test) {\r\n\t\t\tif (step.test(timestamp, {\r\n\t\t\t\tnow,\r\n\t\t\t\tfuture\r\n\t\t\t})) {\r\n\t\t\t\t// `0` threshold always passes.\r\n\t\t\t\tminTime = 0\r\n\t\t\t} else {\r\n\t\t\t\t// `MAX_SAFE_INTEGER` threshold won't ever pass in real life.\r\n\t\t\t\tminTime = 9007199254740991 // Number.MAX_SAFE_INTEGER\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tif (minTime === undefined) {\r\n\t\tif (prevStep) {\r\n\t\t\tif (step.formatAs && prevStep.formatAs) {\r\n\t\t\t\tminTime = getMinTimeForUnit(step.formatAs, prevStep.formatAs, { round })\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t// The first step's `minTime` is `0` by default.\r\n\t\t\tminTime = 0\r\n\t\t}\r\n\t}\r\n\t// Warn if no `minTime` was defined or could be deduced.\r\n\tif (minTime === undefined) {\r\n\t\tconsole.warn('[javascript-time-ago] A step should specify `minTime`:\\n' + JSON.stringify(step, null, 2))\r\n\t}\r\n\treturn minTime\r\n}\r\n\r\nfunction getMinTimeForUnit(toUnit, fromUnit, { round }) {\r\n\tconst toUnitAmount = getSecondsInUnit(toUnit)\r\n\t// if (!fromUnit) {\r\n\t// \treturn toUnitAmount;\r\n\t// }\r\n\t// if (!fromUnit) {\r\n\t// \tfromUnit = getPreviousUnitFor(toUnit)\r\n\t// }\r\n\tlet fromUnitAmount\r\n\tif (fromUnit === 'now') {\r\n\t\tfromUnitAmount = getSecondsInUnit(toUnit)\r\n\t} else {\r\n\t\tfromUnitAmount = getSecondsInUnit(fromUnit)\r\n\t}\r\n\tif (toUnitAmount !== undefined && fromUnitAmount !== undefined) {\r\n\t\treturn toUnitAmount - fromUnitAmount * (1 - getDiffRatioToNextRoundedNumber(round))\r\n\t}\r\n}"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _getStepMinTime = _interopRequireDefault(require("./getStepMinTime.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('getStepMinTime', function () {
|
|
8
6
|
it('should support `step.test()` function (returns true)', function () {
|
|
9
7
|
(0, _getStepMinTime["default"])({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getStepMinTime.test.js","names":["describe","it","getStepMinTime","test","prevStep","minTime","should","equal"],"sources":["../../source/steps/getStepMinTime.test.js"],"sourcesContent":["import getStepMinTime from './getStepMinTime.js'\r\n\r\ndescribe('getStepMinTime', () => {\r\n\tit('should support `step.test()` function (returns true)', () => {\r\n\t\tgetStepMinTime({\r\n\t\t\ttest: () => true\r\n\t\t}, {\r\n\t\t\tprevStep: { minTime: 1 }\r\n\t\t}).should.equal(0)\r\n\t})\r\n\r\n\tit('should support `step.test()` function (returns false)', () => {\r\n\t\tgetStepMinTime({\r\n\t\t\ttest: () => false\r\n\t\t}, {\r\n\t\t\tprevStep: { minTime: 1 }\r\n\t\t}).should.equal(9007199254740991)\r\n\t})\r\n})"],"mappings":";;AAAA
|
|
1
|
+
{"version":3,"file":"getStepMinTime.test.js","names":["_getStepMinTime","_interopRequireDefault","require","e","__esModule","describe","it","getStepMinTime","test","prevStep","minTime","should","equal"],"sources":["../../source/steps/getStepMinTime.test.js"],"sourcesContent":["import getStepMinTime from './getStepMinTime.js'\r\n\r\ndescribe('getStepMinTime', () => {\r\n\tit('should support `step.test()` function (returns true)', () => {\r\n\t\tgetStepMinTime({\r\n\t\t\ttest: () => true\r\n\t\t}, {\r\n\t\t\tprevStep: { minTime: 1 }\r\n\t\t}).should.equal(0)\r\n\t})\r\n\r\n\tit('should support `step.test()` function (returns false)', () => {\r\n\t\tgetStepMinTime({\r\n\t\t\ttest: () => false\r\n\t\t}, {\r\n\t\t\tprevStep: { minTime: 1 }\r\n\t\t}).should.equal(9007199254740991)\r\n\t})\r\n})"],"mappings":";;AAAA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAgD,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,gBAAAA,CAAA;AAEhDE,QAAQ,CAAC,gBAAgB,EAAE,YAAM;EAChCC,EAAE,CAAC,sDAAsD,EAAE,YAAM;IAChE,IAAAC,0BAAc,EAAC;MACdC,IAAI,EAAE,SAAAA,KAAA;QAAA,OAAM,IAAI;MAAA;IACjB,CAAC,EAAE;MACFC,QAAQ,EAAE;QAAEC,OAAO,EAAE;MAAE;IACxB,CAAC,CAAC,CAACC,MAAM,CAACC,KAAK,CAAC,CAAC,CAAC;EACnB,CAAC,CAAC;EAEFN,EAAE,CAAC,uDAAuD,EAAE,YAAM;IACjE,IAAAC,0BAAc,EAAC;MACdC,IAAI,EAAE,SAAAA,KAAA;QAAA,OAAM,KAAK;MAAA;IAClB,CAAC,EAAE;MACFC,QAAQ,EAAE;QAAEC,OAAO,EAAE;MAAE;IACxB,CAAC,CAAC,CAACC,MAAM,CAACC,KAAK,CAAC,gBAAgB,CAAC;EAClC,CAAC,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
|
|
@@ -7,18 +7,14 @@ exports.INFINITY = void 0;
|
|
|
7
7
|
exports["default"] = getTimeToNextUpdate;
|
|
8
8
|
exports.getStepChangesAt = getStepChangesAt;
|
|
9
9
|
exports.getTimeToStepChange = getTimeToStepChange;
|
|
10
|
-
|
|
11
10
|
var _getTimeToNextUpdateForUnit2 = _interopRequireDefault(require("./getTimeToNextUpdateForUnit.js"));
|
|
12
|
-
|
|
13
11
|
var _getStepMinTime = _interopRequireDefault(require("./getStepMinTime.js"));
|
|
14
|
-
|
|
15
12
|
var _round = require("../round.js");
|
|
16
|
-
|
|
17
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
18
|
-
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
19
14
|
// A thousand years is practically a metaphor for "infinity".
|
|
20
15
|
var YEAR = 365 * 24 * 60 * 60 * 1000;
|
|
21
|
-
var INFINITY = 1000 * YEAR;
|
|
16
|
+
var INFINITY = exports.INFINITY = 1000 * YEAR;
|
|
17
|
+
|
|
22
18
|
/**
|
|
23
19
|
* Gets the time to next update for a date and a step.
|
|
24
20
|
* @param {number} date — The date passed to `.format()`, converted to a timestamp.
|
|
@@ -30,23 +26,21 @@ var INFINITY = 1000 * YEAR;
|
|
|
30
26
|
* @param {string} [options.round] - (undocumented) Rounding mechanism.
|
|
31
27
|
* @return {number} [timeToNextUpdate]
|
|
32
28
|
*/
|
|
33
|
-
|
|
34
|
-
exports.INFINITY = INFINITY;
|
|
35
|
-
|
|
36
29
|
function getTimeToNextUpdate(date, step, _ref) {
|
|
37
30
|
var prevStep = _ref.prevStep,
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
31
|
+
nextStep = _ref.nextStep,
|
|
32
|
+
now = _ref.now,
|
|
33
|
+
future = _ref.future,
|
|
34
|
+
round = _ref.round;
|
|
42
35
|
var timestamp = date.getTime ? date.getTime() : date;
|
|
43
|
-
|
|
44
36
|
var getTimeToNextUpdateForUnit = function getTimeToNextUpdateForUnit(unit) {
|
|
45
37
|
return (0, _getTimeToNextUpdateForUnit2["default"])(unit, timestamp, {
|
|
46
38
|
now: now,
|
|
47
39
|
round: round
|
|
48
40
|
});
|
|
49
|
-
};
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
// For future dates, steps move from the last one to the first one,
|
|
50
44
|
// while for past dates, steps move from the first one to the last one,
|
|
51
45
|
// due to the fact that time flows in one direction,
|
|
52
46
|
// and future dates' interval naturally becomes smaller
|
|
@@ -60,24 +54,19 @@ function getTimeToNextUpdate(date, step, _ref) {
|
|
|
60
54
|
// from the current step to the next step,
|
|
61
55
|
// therefore check the `minTime` of the next step.
|
|
62
56
|
//
|
|
63
|
-
|
|
64
|
-
|
|
65
57
|
var timeToStepChange = getTimeToStepChange(future ? step : nextStep, timestamp, {
|
|
66
58
|
future: future,
|
|
67
59
|
now: now,
|
|
68
60
|
round: round,
|
|
69
|
-
prevStep: future ? prevStep : step
|
|
70
|
-
|
|
61
|
+
prevStep: future ? prevStep : step
|
|
62
|
+
// isFirstStep: future && isFirstStep
|
|
71
63
|
});
|
|
72
|
-
|
|
73
64
|
if (timeToStepChange === undefined) {
|
|
74
65
|
// Can't reliably determine "time to next update"
|
|
75
66
|
// if not all of the steps provide `minTime`.
|
|
76
67
|
return;
|
|
77
68
|
}
|
|
78
|
-
|
|
79
69
|
var timeToNextUpdate;
|
|
80
|
-
|
|
81
70
|
if (step) {
|
|
82
71
|
if (step.getTimeToNextUpdate) {
|
|
83
72
|
timeToNextUpdate = step.getTimeToNextUpdate(timestamp, {
|
|
@@ -88,11 +77,9 @@ function getTimeToNextUpdate(date, step, _ref) {
|
|
|
88
77
|
round: round
|
|
89
78
|
});
|
|
90
79
|
}
|
|
91
|
-
|
|
92
80
|
if (timeToNextUpdate === undefined) {
|
|
93
81
|
// "unit" is now called "formatAs".
|
|
94
82
|
var unit = step.unit || step.formatAs;
|
|
95
|
-
|
|
96
83
|
if (unit) {
|
|
97
84
|
// For some units, like "now", there's no defined amount of seconds in them.
|
|
98
85
|
// In such cases, `getTimeToNextUpdateForUnit()` returns `undefined`,
|
|
@@ -102,19 +89,16 @@ function getTimeToNextUpdate(date, step, _ref) {
|
|
|
102
89
|
}
|
|
103
90
|
}
|
|
104
91
|
}
|
|
105
|
-
|
|
106
92
|
if (timeToNextUpdate === undefined) {
|
|
107
93
|
return timeToStepChange;
|
|
108
94
|
}
|
|
109
|
-
|
|
110
95
|
return Math.min(timeToNextUpdate, timeToStepChange);
|
|
111
96
|
}
|
|
112
|
-
|
|
113
97
|
function getStepChangesAt(currentOrNextStep, timestamp, _ref2) {
|
|
114
98
|
var now = _ref2.now,
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
99
|
+
future = _ref2.future,
|
|
100
|
+
round = _ref2.round,
|
|
101
|
+
prevStep = _ref2.prevStep;
|
|
118
102
|
// The first step's `minTime` is `0` by default.
|
|
119
103
|
// It doesn't "change" steps at zero point
|
|
120
104
|
// but it does change the wording when switching
|
|
@@ -127,11 +111,9 @@ function getStepChangesAt(currentOrNextStep, timestamp, _ref2) {
|
|
|
127
111
|
round: round,
|
|
128
112
|
prevStep: prevStep
|
|
129
113
|
});
|
|
130
|
-
|
|
131
114
|
if (minTime === undefined) {
|
|
132
115
|
return;
|
|
133
116
|
}
|
|
134
|
-
|
|
135
117
|
if (future) {
|
|
136
118
|
// The step changes to the previous step
|
|
137
119
|
// as soon as `timestamp - now` becomes
|
|
@@ -145,21 +127,19 @@ function getStepChangesAt(currentOrNextStep, timestamp, _ref2) {
|
|
|
145
127
|
// equal to `minTime` of the next step:
|
|
146
128
|
// `now - timestamp === minTime`
|
|
147
129
|
// => `now === timestamp + minTime`.
|
|
130
|
+
|
|
148
131
|
// This is a special case when double-update could be skipped.
|
|
149
132
|
if (minTime === 0 && timestamp === now) {
|
|
150
133
|
return INFINITY;
|
|
151
134
|
}
|
|
152
|
-
|
|
153
135
|
return timestamp + minTime * 1000;
|
|
154
136
|
}
|
|
155
137
|
}
|
|
156
|
-
|
|
157
138
|
function getTimeToStepChange(step, timestamp, _ref3) {
|
|
158
139
|
var now = _ref3.now,
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
140
|
+
future = _ref3.future,
|
|
141
|
+
round = _ref3.round,
|
|
142
|
+
prevStep = _ref3.prevStep;
|
|
163
143
|
if (step) {
|
|
164
144
|
var stepChangesAt = getStepChangesAt(step, timestamp, {
|
|
165
145
|
now: now,
|
|
@@ -167,11 +147,9 @@ function getTimeToStepChange(step, timestamp, _ref3) {
|
|
|
167
147
|
round: round,
|
|
168
148
|
prevStep: prevStep
|
|
169
149
|
});
|
|
170
|
-
|
|
171
150
|
if (stepChangesAt === undefined) {
|
|
172
151
|
return;
|
|
173
152
|
}
|
|
174
|
-
|
|
175
153
|
return stepChangesAt - now;
|
|
176
154
|
} else {
|
|
177
155
|
if (future) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTimeToNextUpdate.js","names":["YEAR","INFINITY","getTimeToNextUpdate","date","step","prevStep","nextStep","now","future","round","timestamp","getTime","getTimeToNextUpdateForUnit","unit","_getTimeToNextUpdateForUnit","timeToStepChange","getTimeToStepChange","undefined","timeToNextUpdate","getRoundFunction","formatAs","Math","min","getStepChangesAt","currentOrNextStep","minTime","getStepMinTime","stepChangesAt"],"sources":["../../source/steps/getTimeToNextUpdate.js"],"sourcesContent":["import _getTimeToNextUpdateForUnit from './getTimeToNextUpdateForUnit.js'\r\nimport getStepMinTime from './getStepMinTime.js'\r\nimport { getRoundFunction } from '../round.js'\r\n\r\n// A thousand years is practically a metaphor for \"infinity\".\r\nconst YEAR = 365 * 24 * 60 * 60 * 1000\r\nexport const INFINITY = 1000 * YEAR\r\n\r\n/**\r\n * Gets the time to next update for a date and a step.\r\n * @param {number} date — The date passed to `.format()`, converted to a timestamp.\r\n * @param {object} step\r\n * @param {object} [options.previousStep]\r\n * @param {object} [options.nextStep]\r\n * @param {number} options.now\r\n * @param {boolean} options.future\r\n * @param {string} [options.round] - (undocumented) Rounding mechanism.\r\n * @return {number} [timeToNextUpdate]\r\n */\r\nexport default function getTimeToNextUpdate(date, step, { prevStep, nextStep, now, future, round }) {\r\n\tconst timestamp = date.getTime ? date.getTime() : date\r\n\r\n\tconst getTimeToNextUpdateForUnit = (unit) => _getTimeToNextUpdateForUnit(unit, timestamp, { now, round })\r\n\r\n\t// For future dates, steps move from the last one to the first one,\r\n\t// while for past dates, steps move from the first one to the last one,\r\n\t// due to the fact that time flows in one direction,\r\n\t// and future dates' interval naturally becomes smaller\r\n\t// while past dates' interval naturally grows larger.\r\n\t//\r\n\t// For future dates, it's the transition\r\n\t// from the current step to the previous step,\r\n\t// therefore check the `minTime` of the current step.\r\n\t//\r\n\t// For past dates, it's the transition\r\n\t// from the current step to the next step,\r\n\t// therefore check the `minTime` of the next step.\r\n\t//\r\n\tconst timeToStepChange = getTimeToStepChange(future ? step : nextStep, timestamp, {\r\n\t\tfuture,\r\n\t\tnow,\r\n\t\tround,\r\n\t\tprevStep: future ? prevStep : step,\r\n\t\t// isFirstStep: future && isFirstStep\r\n\t})\r\n\r\n\tif (timeToStepChange === undefined) {\r\n\t\t// Can't reliably determine \"time to next update\"\r\n\t\t// if not all of the steps provide `minTime`.\r\n\t\treturn\r\n\t}\r\n\r\n\tlet timeToNextUpdate\r\n\r\n\tif (step) {\r\n\t\tif (step.getTimeToNextUpdate) {\r\n\t\t\ttimeToNextUpdate = step.getTimeToNextUpdate(timestamp, {\r\n\t\t\t\tgetTimeToNextUpdateForUnit,\r\n\t\t\t\tgetRoundFunction,\r\n\t\t\t\tnow,\r\n\t\t\t\tfuture,\r\n\t\t\t\tround\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tif (timeToNextUpdate === undefined) {\r\n\t\t\t// \"unit\" is now called \"formatAs\".\r\n\t\t\tconst unit = step.unit || step.formatAs\r\n\t\t\tif (unit) {\r\n\t\t\t\t// For some units, like \"now\", there's no defined amount of seconds in them.\r\n\t\t\t\t// In such cases, `getTimeToNextUpdateForUnit()` returns `undefined`,\r\n\t\t\t\t// and the next step's `minTime` could be used to calculate the update interval:\r\n\t\t\t\t// it will just assume that the label never changes for this step.\r\n\t\t\t\ttimeToNextUpdate = getTimeToNextUpdateForUnit(unit)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tif (timeToNextUpdate === undefined) {\r\n\t\treturn timeToStepChange\r\n\t}\r\n\r\n\treturn Math.min(timeToNextUpdate, timeToStepChange)\r\n}\r\n\r\nexport function getStepChangesAt(currentOrNextStep, timestamp, { now, future, round, prevStep }) {\r\n\t// The first step's `minTime` is `0` by default.\r\n\t// It doesn't \"change\" steps at zero point\r\n\t// but it does change the wording when switching\r\n\t// from \"future\" to \"past\": \"in ...\" -> \"... ago\".\r\n\t// Therefore, the label should be updated at zero-point too.\r\n\tconst minTime = getStepMinTime(currentOrNextStep, { timestamp, now, future, round, prevStep })\r\n\tif (minTime === undefined) {\r\n\t\treturn\r\n\t}\r\n\tif (future) {\r\n\t\t// The step changes to the previous step\r\n\t\t// as soon as `timestamp - now` becomes\r\n\t\t// less than the `minTime` of the current step:\r\n\t\t// `timestamp - now === minTime - 1`\r\n\t\t// => `now === timestamp - minTime + 1`.\r\n\t\treturn timestamp - minTime * 1000 + 1\r\n\t} else {\r\n\t\t// The step changes to the next step\r\n\t\t// as soon as `now - timestamp` becomes\r\n\t\t// equal to `minTime` of the next step:\r\n\t\t// `now - timestamp === minTime`\r\n\t\t// => `now === timestamp + minTime`.\r\n\r\n\t\t// This is a special case when double-update could be skipped.\r\n\t\tif (minTime === 0 && timestamp === now) {\r\n\t\t\treturn INFINITY\r\n\t\t}\r\n\r\n\t\treturn timestamp + minTime * 1000\r\n\t}\r\n}\r\n\r\nexport function getTimeToStepChange(step, timestamp, {\r\n\tnow,\r\n\tfuture,\r\n\tround,\r\n\tprevStep\r\n}) {\r\n\tif (step) {\r\n\t\tconst stepChangesAt = getStepChangesAt(step, timestamp, {\r\n\t\t\tnow,\r\n\t\t\tfuture,\r\n\t\t\tround,\r\n\t\t\tprevStep\r\n\t\t})\r\n\t\tif (stepChangesAt === undefined) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\treturn stepChangesAt - now\r\n\t} else {\r\n\t\tif (future) {\r\n\t\t\t// No step.\r\n\t\t\t// Update right after zero point, when it changes from \"future\" to \"past\".\r\n\t\t\treturn timestamp - now + 1\r\n\t\t} else {\r\n\t\t\t// The last step doesn't ever change when `date` is in the past.\r\n\t\t\treturn INFINITY\r\n\t\t}\r\n\t}\r\n}"],"mappings":"
|
|
1
|
+
{"version":3,"file":"getTimeToNextUpdate.js","names":["_getTimeToNextUpdateForUnit2","_interopRequireDefault","require","_getStepMinTime","_round","e","__esModule","YEAR","INFINITY","exports","getTimeToNextUpdate","date","step","_ref","prevStep","nextStep","now","future","round","timestamp","getTime","getTimeToNextUpdateForUnit","unit","_getTimeToNextUpdateForUnit","timeToStepChange","getTimeToStepChange","undefined","timeToNextUpdate","getRoundFunction","formatAs","Math","min","getStepChangesAt","currentOrNextStep","_ref2","minTime","getStepMinTime","_ref3","stepChangesAt"],"sources":["../../source/steps/getTimeToNextUpdate.js"],"sourcesContent":["import _getTimeToNextUpdateForUnit from './getTimeToNextUpdateForUnit.js'\r\nimport getStepMinTime from './getStepMinTime.js'\r\nimport { getRoundFunction } from '../round.js'\r\n\r\n// A thousand years is practically a metaphor for \"infinity\".\r\nconst YEAR = 365 * 24 * 60 * 60 * 1000\r\nexport const INFINITY = 1000 * YEAR\r\n\r\n/**\r\n * Gets the time to next update for a date and a step.\r\n * @param {number} date — The date passed to `.format()`, converted to a timestamp.\r\n * @param {object} step\r\n * @param {object} [options.previousStep]\r\n * @param {object} [options.nextStep]\r\n * @param {number} options.now\r\n * @param {boolean} options.future\r\n * @param {string} [options.round] - (undocumented) Rounding mechanism.\r\n * @return {number} [timeToNextUpdate]\r\n */\r\nexport default function getTimeToNextUpdate(date, step, { prevStep, nextStep, now, future, round }) {\r\n\tconst timestamp = date.getTime ? date.getTime() : date\r\n\r\n\tconst getTimeToNextUpdateForUnit = (unit) => _getTimeToNextUpdateForUnit(unit, timestamp, { now, round })\r\n\r\n\t// For future dates, steps move from the last one to the first one,\r\n\t// while for past dates, steps move from the first one to the last one,\r\n\t// due to the fact that time flows in one direction,\r\n\t// and future dates' interval naturally becomes smaller\r\n\t// while past dates' interval naturally grows larger.\r\n\t//\r\n\t// For future dates, it's the transition\r\n\t// from the current step to the previous step,\r\n\t// therefore check the `minTime` of the current step.\r\n\t//\r\n\t// For past dates, it's the transition\r\n\t// from the current step to the next step,\r\n\t// therefore check the `minTime` of the next step.\r\n\t//\r\n\tconst timeToStepChange = getTimeToStepChange(future ? step : nextStep, timestamp, {\r\n\t\tfuture,\r\n\t\tnow,\r\n\t\tround,\r\n\t\tprevStep: future ? prevStep : step,\r\n\t\t// isFirstStep: future && isFirstStep\r\n\t})\r\n\r\n\tif (timeToStepChange === undefined) {\r\n\t\t// Can't reliably determine \"time to next update\"\r\n\t\t// if not all of the steps provide `minTime`.\r\n\t\treturn\r\n\t}\r\n\r\n\tlet timeToNextUpdate\r\n\r\n\tif (step) {\r\n\t\tif (step.getTimeToNextUpdate) {\r\n\t\t\ttimeToNextUpdate = step.getTimeToNextUpdate(timestamp, {\r\n\t\t\t\tgetTimeToNextUpdateForUnit,\r\n\t\t\t\tgetRoundFunction,\r\n\t\t\t\tnow,\r\n\t\t\t\tfuture,\r\n\t\t\t\tround\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tif (timeToNextUpdate === undefined) {\r\n\t\t\t// \"unit\" is now called \"formatAs\".\r\n\t\t\tconst unit = step.unit || step.formatAs\r\n\t\t\tif (unit) {\r\n\t\t\t\t// For some units, like \"now\", there's no defined amount of seconds in them.\r\n\t\t\t\t// In such cases, `getTimeToNextUpdateForUnit()` returns `undefined`,\r\n\t\t\t\t// and the next step's `minTime` could be used to calculate the update interval:\r\n\t\t\t\t// it will just assume that the label never changes for this step.\r\n\t\t\t\ttimeToNextUpdate = getTimeToNextUpdateForUnit(unit)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tif (timeToNextUpdate === undefined) {\r\n\t\treturn timeToStepChange\r\n\t}\r\n\r\n\treturn Math.min(timeToNextUpdate, timeToStepChange)\r\n}\r\n\r\nexport function getStepChangesAt(currentOrNextStep, timestamp, { now, future, round, prevStep }) {\r\n\t// The first step's `minTime` is `0` by default.\r\n\t// It doesn't \"change\" steps at zero point\r\n\t// but it does change the wording when switching\r\n\t// from \"future\" to \"past\": \"in ...\" -> \"... ago\".\r\n\t// Therefore, the label should be updated at zero-point too.\r\n\tconst minTime = getStepMinTime(currentOrNextStep, { timestamp, now, future, round, prevStep })\r\n\tif (minTime === undefined) {\r\n\t\treturn\r\n\t}\r\n\tif (future) {\r\n\t\t// The step changes to the previous step\r\n\t\t// as soon as `timestamp - now` becomes\r\n\t\t// less than the `minTime` of the current step:\r\n\t\t// `timestamp - now === minTime - 1`\r\n\t\t// => `now === timestamp - minTime + 1`.\r\n\t\treturn timestamp - minTime * 1000 + 1\r\n\t} else {\r\n\t\t// The step changes to the next step\r\n\t\t// as soon as `now - timestamp` becomes\r\n\t\t// equal to `minTime` of the next step:\r\n\t\t// `now - timestamp === minTime`\r\n\t\t// => `now === timestamp + minTime`.\r\n\r\n\t\t// This is a special case when double-update could be skipped.\r\n\t\tif (minTime === 0 && timestamp === now) {\r\n\t\t\treturn INFINITY\r\n\t\t}\r\n\r\n\t\treturn timestamp + minTime * 1000\r\n\t}\r\n}\r\n\r\nexport function getTimeToStepChange(step, timestamp, {\r\n\tnow,\r\n\tfuture,\r\n\tround,\r\n\tprevStep\r\n}) {\r\n\tif (step) {\r\n\t\tconst stepChangesAt = getStepChangesAt(step, timestamp, {\r\n\t\t\tnow,\r\n\t\t\tfuture,\r\n\t\t\tround,\r\n\t\t\tprevStep\r\n\t\t})\r\n\t\tif (stepChangesAt === undefined) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\treturn stepChangesAt - now\r\n\t} else {\r\n\t\tif (future) {\r\n\t\t\t// No step.\r\n\t\t\t// Update right after zero point, when it changes from \"future\" to \"past\".\r\n\t\t\treturn timestamp - now + 1\r\n\t\t} else {\r\n\t\t\t// The last step doesn't ever change when `date` is in the past.\r\n\t\t\treturn INFINITY\r\n\t\t}\r\n\t}\r\n}"],"mappings":";;;;;;;;;AAAA,IAAAA,4BAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,eAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAA8C,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,gBAAAA,CAAA;AAE9C;AACA,IAAME,IAAI,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;AAC/B,IAAMC,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG,IAAI,GAAGD,IAAI;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASG,mBAAmBA,CAACC,IAAI,EAAEC,IAAI,EAAAC,IAAA,EAA8C;EAAA,IAA1CC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAEC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IAAEC,GAAG,GAAAH,IAAA,CAAHG,GAAG;IAAEC,MAAM,GAAAJ,IAAA,CAANI,MAAM;IAAEC,KAAK,GAAAL,IAAA,CAALK,KAAK;EAC/F,IAAMC,SAAS,GAAGR,IAAI,CAACS,OAAO,GAAGT,IAAI,CAACS,OAAO,CAAC,CAAC,GAAGT,IAAI;EAEtD,IAAMU,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAIC,IAAI;IAAA,OAAK,IAAAC,uCAA2B,EAACD,IAAI,EAAEH,SAAS,EAAE;MAAEH,GAAG,EAAHA,GAAG;MAAEE,KAAK,EAALA;IAAM,CAAC,CAAC;EAAA;;EAEzG;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAMM,gBAAgB,GAAGC,mBAAmB,CAACR,MAAM,GAAGL,IAAI,GAAGG,QAAQ,EAAEI,SAAS,EAAE;IACjFF,MAAM,EAANA,MAAM;IACND,GAAG,EAAHA,GAAG;IACHE,KAAK,EAALA,KAAK;IACLJ,QAAQ,EAAEG,MAAM,GAAGH,QAAQ,GAAGF;IAC9B;EACD,CAAC,CAAC;EAEF,IAAIY,gBAAgB,KAAKE,SAAS,EAAE;IACnC;IACA;IACA;EACD;EAEA,IAAIC,gBAAgB;EAEpB,IAAIf,IAAI,EAAE;IACT,IAAIA,IAAI,CAACF,mBAAmB,EAAE;MAC7BiB,gBAAgB,GAAGf,IAAI,CAACF,mBAAmB,CAACS,SAAS,EAAE;QACtDE,0BAA0B,EAA1BA,0BAA0B;QAC1BO,gBAAgB,EAAhBA,uBAAgB;QAChBZ,GAAG,EAAHA,GAAG;QACHC,MAAM,EAANA,MAAM;QACNC,KAAK,EAALA;MACD,CAAC,CAAC;IACH;IAEA,IAAIS,gBAAgB,KAAKD,SAAS,EAAE;MACnC;MACA,IAAMJ,IAAI,GAAGV,IAAI,CAACU,IAAI,IAAIV,IAAI,CAACiB,QAAQ;MACvC,IAAIP,IAAI,EAAE;QACT;QACA;QACA;QACA;QACAK,gBAAgB,GAAGN,0BAA0B,CAACC,IAAI,CAAC;MACpD;IACD;EACD;EAEA,IAAIK,gBAAgB,KAAKD,SAAS,EAAE;IACnC,OAAOF,gBAAgB;EACxB;EAEA,OAAOM,IAAI,CAACC,GAAG,CAACJ,gBAAgB,EAAEH,gBAAgB,CAAC;AACpD;AAEO,SAASQ,gBAAgBA,CAACC,iBAAiB,EAAEd,SAAS,EAAAe,KAAA,EAAoC;EAAA,IAAhClB,GAAG,GAAAkB,KAAA,CAAHlB,GAAG;IAAEC,MAAM,GAAAiB,KAAA,CAANjB,MAAM;IAAEC,KAAK,GAAAgB,KAAA,CAALhB,KAAK;IAAEJ,QAAQ,GAAAoB,KAAA,CAARpB,QAAQ;EAC5F;EACA;EACA;EACA;EACA;EACA,IAAMqB,OAAO,GAAG,IAAAC,0BAAc,EAACH,iBAAiB,EAAE;IAAEd,SAAS,EAATA,SAAS;IAAEH,GAAG,EAAHA,GAAG;IAAEC,MAAM,EAANA,MAAM;IAAEC,KAAK,EAALA,KAAK;IAAEJ,QAAQ,EAARA;EAAS,CAAC,CAAC;EAC9F,IAAIqB,OAAO,KAAKT,SAAS,EAAE;IAC1B;EACD;EACA,IAAIT,MAAM,EAAE;IACX;IACA;IACA;IACA;IACA;IACA,OAAOE,SAAS,GAAGgB,OAAO,GAAG,IAAI,GAAG,CAAC;EACtC,CAAC,MAAM;IACN;IACA;IACA;IACA;IACA;;IAEA;IACA,IAAIA,OAAO,KAAK,CAAC,IAAIhB,SAAS,KAAKH,GAAG,EAAE;MACvC,OAAOR,QAAQ;IAChB;IAEA,OAAOW,SAAS,GAAGgB,OAAO,GAAG,IAAI;EAClC;AACD;AAEO,SAASV,mBAAmBA,CAACb,IAAI,EAAEO,SAAS,EAAAkB,KAAA,EAKhD;EAAA,IAJFrB,GAAG,GAAAqB,KAAA,CAAHrB,GAAG;IACHC,MAAM,GAAAoB,KAAA,CAANpB,MAAM;IACNC,KAAK,GAAAmB,KAAA,CAALnB,KAAK;IACLJ,QAAQ,GAAAuB,KAAA,CAARvB,QAAQ;EAER,IAAIF,IAAI,EAAE;IACT,IAAM0B,aAAa,GAAGN,gBAAgB,CAACpB,IAAI,EAAEO,SAAS,EAAE;MACvDH,GAAG,EAAHA,GAAG;MACHC,MAAM,EAANA,MAAM;MACNC,KAAK,EAALA,KAAK;MACLJ,QAAQ,EAARA;IACD,CAAC,CAAC;IACF,IAAIwB,aAAa,KAAKZ,SAAS,EAAE;MAChC;IACD;IACA,OAAOY,aAAa,GAAGtB,GAAG;EAC3B,CAAC,MAAM;IACN,IAAIC,MAAM,EAAE;MACX;MACA;MACA,OAAOE,SAAS,GAAGH,GAAG,GAAG,CAAC;IAC3B,CAAC,MAAM;MACN;MACA,OAAOR,QAAQ;IAChB;EACD;AACD","ignoreList":[]}
|
|
@@ -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 _getTimeToNextUpdate = _interopRequireWildcard(require("./getTimeToNextUpdate.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('getTimeToNextUpdate', function () {
|
|
12
7
|
it('should return infinity when there are no more steps, and it does not format as a unit (past)', function () {
|
|
13
8
|
expect((0, _getTimeToNextUpdate["default"])(-4 * 60 * 1000, {
|
|
@@ -175,11 +170,12 @@ describe('getStepChangesAt', function () {
|
|
|
175
170
|
now: 0,
|
|
176
171
|
future: false,
|
|
177
172
|
prevStep: undefined
|
|
178
|
-
}).should.equal(_getTimeToNextUpdate.INFINITY);
|
|
173
|
+
}).should.equal(_getTimeToNextUpdate.INFINITY);
|
|
174
|
+
|
|
175
|
+
// Past.
|
|
179
176
|
// Is at zero point.
|
|
180
177
|
// The next step is seconds.
|
|
181
178
|
// Updates at the next step.
|
|
182
|
-
|
|
183
179
|
(0, _getTimeToNextUpdate.getStepChangesAt)({
|
|
184
180
|
unit: 'second',
|
|
185
181
|
minTime: 1
|
|
@@ -187,32 +183,35 @@ describe('getStepChangesAt', function () {
|
|
|
187
183
|
now: 0,
|
|
188
184
|
future: false,
|
|
189
185
|
prevStep: {}
|
|
190
|
-
}).should.equal(1 * 1000);
|
|
186
|
+
}).should.equal(1 * 1000);
|
|
187
|
+
|
|
188
|
+
// Future.
|
|
191
189
|
// Inside the first step.
|
|
192
190
|
// Updates after zero point.
|
|
193
|
-
|
|
194
191
|
(0, _getTimeToNextUpdate.getStepChangesAt)({
|
|
195
192
|
unit: 'now'
|
|
196
193
|
}, 0.9 * 1000, {
|
|
197
194
|
now: 0,
|
|
198
195
|
future: true,
|
|
199
196
|
prevStep: undefined
|
|
200
|
-
}).should.equal(0.9 * 1000 + 1);
|
|
197
|
+
}).should.equal(0.9 * 1000 + 1);
|
|
198
|
+
|
|
199
|
+
// Future.
|
|
201
200
|
// The first step doesn't start at 0.
|
|
202
201
|
// Outside of the first step.
|
|
203
202
|
// Updates right after zero point.
|
|
204
|
-
|
|
205
203
|
(0, _getTimeToNextUpdate.getTimeToStepChange)(undefined, 0.9 * 1000, {
|
|
206
204
|
now: 0,
|
|
207
205
|
future: true,
|
|
208
206
|
prevStep: undefined
|
|
209
|
-
}).should.equal(0.9 * 1000 + 1);
|
|
207
|
+
}).should.equal(0.9 * 1000 + 1);
|
|
208
|
+
|
|
209
|
+
// Past.
|
|
210
210
|
// The current step is `undefined`.
|
|
211
211
|
// The next step is the first step.
|
|
212
212
|
// The first step doesn't start at 0.
|
|
213
213
|
// Outside of the first step.
|
|
214
214
|
// Updates at entering the first step.
|
|
215
|
-
|
|
216
215
|
(0, _getTimeToNextUpdate.getStepChangesAt)({
|
|
217
216
|
minTime: 1,
|
|
218
217
|
unit: 'second'
|
|
@@ -220,10 +219,11 @@ describe('getStepChangesAt', function () {
|
|
|
220
219
|
now: 0,
|
|
221
220
|
future: false,
|
|
222
221
|
prevStep: {}
|
|
223
|
-
}).should.equal(0.1 * 1000);
|
|
222
|
+
}).should.equal(0.1 * 1000);
|
|
223
|
+
|
|
224
|
+
// Future.
|
|
224
225
|
// The first step doesn't start at 0.
|
|
225
226
|
// Will output empty string after it exits the current step.
|
|
226
|
-
|
|
227
227
|
(0, _getTimeToNextUpdate.getStepChangesAt)({
|
|
228
228
|
minTime: 1,
|
|
229
229
|
unit: 'second'
|
|
@@ -231,39 +231,43 @@ describe('getStepChangesAt', function () {
|
|
|
231
231
|
now: 0,
|
|
232
232
|
future: true,
|
|
233
233
|
prevStep: undefined
|
|
234
|
-
}).should.equal(0.1 * 1000 + 1);
|
|
234
|
+
}).should.equal(0.1 * 1000 + 1);
|
|
235
|
+
|
|
236
|
+
// Past.
|
|
235
237
|
// Next step is seconds.
|
|
236
238
|
// The "next" step doesn't have `minTime`,
|
|
237
239
|
// so "time to next update" couldn't be determined.
|
|
238
|
-
|
|
239
240
|
expect((0, _getTimeToNextUpdate.getStepChangesAt)({
|
|
240
241
|
unit: 'unknown-time-unit'
|
|
241
242
|
}, 0, {
|
|
242
243
|
now: 0,
|
|
243
244
|
future: false,
|
|
244
245
|
prevStep: {}
|
|
245
|
-
})).to.be.undefined;
|
|
246
|
+
})).to.be.undefined;
|
|
247
|
+
|
|
248
|
+
// Past.
|
|
246
249
|
// No next step.
|
|
247
250
|
// The last step never changes.
|
|
248
|
-
|
|
249
251
|
(0, _getTimeToNextUpdate.getTimeToStepChange)(undefined, 0, {
|
|
250
252
|
now: 0,
|
|
251
253
|
future: false,
|
|
252
254
|
isFirstStep: undefined
|
|
253
|
-
}).should.equal(_getTimeToNextUpdate.INFINITY);
|
|
255
|
+
}).should.equal(_getTimeToNextUpdate.INFINITY);
|
|
256
|
+
|
|
257
|
+
// Future.
|
|
254
258
|
// Current step is seconds.
|
|
255
259
|
// Updates after zero point.
|
|
256
|
-
|
|
257
260
|
(0, _getTimeToNextUpdate.getStepChangesAt)({
|
|
258
261
|
unit: 'second'
|
|
259
262
|
}, 0, {
|
|
260
263
|
now: 0,
|
|
261
264
|
future: true,
|
|
262
265
|
prevStep: undefined
|
|
263
|
-
}).should.equal(1);
|
|
266
|
+
}).should.equal(1);
|
|
267
|
+
|
|
268
|
+
// Past.
|
|
264
269
|
// Next step is minutes.
|
|
265
270
|
// Already at zero point, so no need to update at zero point.
|
|
266
|
-
|
|
267
271
|
(0, _getTimeToNextUpdate.getStepChangesAt)({
|
|
268
272
|
minTime: 60,
|
|
269
273
|
formatAs: 'minute'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTimeToNextUpdate.test.js","names":["describe","it","expect","getTimeToNextUpdate","minTime","format","now","future","isFirstStep","to","equal","INFINITY","Date","nextStep","formatAs","be","undefined","should","test","getStepChangesAt","unit","prevStep","getTimeToStepChange"],"sources":["../../source/steps/getTimeToNextUpdate.test.js"],"sourcesContent":["import getTimeToNextUpdate, { INFINITY, getStepChangesAt, getTimeToStepChange } from './getTimeToNextUpdate.js'\r\n\r\ndescribe('getTimeToNextUpdate', () => {\r\n\tit('should return infinity when there are no more steps, and it does not format as a unit (past)', () => {\r\n\t\texpect(getTimeToNextUpdate(-4 * 60 * 1000, {\r\n\t\t\tminTime: 59.5,\r\n\t\t\tformat: () => ''\r\n\t\t}, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: false,\r\n\t\t\tisFirstStep: true\r\n\t\t})).to.equal(INFINITY)\r\n\t})\r\n\r\n\tit('should support date argument', () => {\r\n\t\texpect(getTimeToNextUpdate(new Date(4 * 60 * 1000), {\r\n\t\t\tminTime: 60\r\n\t\t}, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: true,\r\n\t\t\tisFirstStep: true,\r\n\t\t\tnextStep: {}\r\n\t\t})).to.equal(3 * 60 * 1000 + 1)\r\n\t})\r\n\r\n\tit('should return this step\\'s \"minTime\" timestamp (future)', () => {\r\n\t\texpect(getTimeToNextUpdate(4 * 60 * 1000, {\r\n\t\t\tminTime: 60,\r\n\t\t\tformat: () => ''\r\n\t\t}, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: true,\r\n\t\t\tisFirstStep: true,\r\n\t\t\tnextStep: {\r\n\t\t\t\tformat: () => ''\r\n\t\t\t}\r\n\t\t})).to.equal(3 * 60 * 1000 + 1)\r\n\t})\r\n\r\n\tit('should return undefined when there is a next step and time to next update can not be reliably determined (formatAs) (past)', () => {\r\n\t\texpect(getTimeToNextUpdate(-4 * 60 * 1000, {\r\n\t\t\tminTime: 60,\r\n\t\t\tformatAs: 'minute'\r\n\t\t}, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: false,\r\n\t\t\tisFirstStep: true,\r\n\t\t\tnextStep: {\r\n\t\t\t\tformatAs: 'unknown-time-unit'\r\n\t\t\t}\r\n\t\t})).to.be.undefined\r\n\t})\r\n\r\n\tit('should get time to next update (no next step) (past)', () => {\r\n\t\tgetTimeToNextUpdate(-4 * 60 * 1000, {\r\n\t\t\tformatAs: 'minute',\r\n\t\t\tminTime: 59.5\r\n\t\t}, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: false,\r\n\t\t\tisFirstStep: true\r\n\t\t}).should.equal(0.5 * 60 * 1000)\r\n\t})\r\n\r\n\tit('should get time to next update (no next step) (future)', () => {\r\n\t\tgetTimeToNextUpdate(4 * 60 * 1000, {\r\n\t\t\tformatAs: 'minute',\r\n\t\t\tminTime: 59.5\r\n\t\t}, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: true,\r\n\t\t\tisFirstStep: true\r\n\t\t}).should.equal(0.5 * 60 * 1000 + 1)\r\n\t})\r\n\r\n\tit('should get time to next update (has prev/next step without `minTime`) (future)', () => {\r\n\t\tgetTimeToNextUpdate(4 * 60 * 1000, {\r\n\t\t\tformatAs: 'minute',\r\n\t\t\tminTime: 59.5\r\n\t\t}, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: true,\r\n\t\t\tisFirstStep: true,\r\n\t\t\tnextStep: {\r\n\t\t\t\tformatAs: 'hour',\r\n\t\t\t\ttest: () => false\r\n\t\t\t}\r\n\t\t}).should.equal(0.5 * 60 * 1000 + 1)\r\n\t})\r\n\r\n\tit('should get time to next update (has `getTimeToNextUpdate`) (past)', () => {\r\n\t\tgetTimeToNextUpdate(-4 * 60 * 1000, {\r\n\t\t\tformatAs: 'minute',\r\n\t\t\tminTime: 59.5,\r\n\t\t\tgetTimeToNextUpdate: () => 0.25 * 60 * 1000\r\n\t\t}, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: false,\r\n\t\t\tisFirstStep: true\r\n\t\t}).should.equal(0.25 * 60 * 1000)\r\n\t})\r\n\r\n\tit('should get time to next update (has `getTimeToNextUpdate`) (future)', () => {\r\n\t\tgetTimeToNextUpdate(4 * 60 * 1000, {\r\n\t\t\tformatAs: 'minute',\r\n\t\t\tminTime: 59.5,\r\n\t\t\tgetTimeToNextUpdate: () => 0.25 * 60 * 1000\r\n\t\t}, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: true,\r\n\t\t\tisFirstStep: true\r\n\t\t}).should.equal(0.25 * 60 * 1000)\r\n\t})\r\n\r\n\tit('should get time to next update (has both unit and prev/next steps with `minTime`) (returns time to \"minTime\" of next step) (past)', () => {\r\n\t\tgetTimeToNextUpdate(-59 * 60 * 1000, {\r\n\t\t\tformatAs: 'minute',\r\n\t\t\tminTime: 59.5\r\n\t\t}, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: false,\r\n\t\t\tisFirstStep: true,\r\n\t\t\tnextStep: {\r\n\t\t\t\tformatAs: 'hour',\r\n\t\t\t\tminTime: 59.5 * 60\r\n\t\t\t}\r\n\t\t}).should.equal(0.5 * 60 * 1000)\r\n\t})\r\n\r\n\tit('should get time to next update (has no unit but has prev/next step with `minTime`) (returns time to \"minTime\" of next step) (past)', () => {\r\n\t\tgetTimeToNextUpdate(-59 * 60 * 1000, {\r\n\t\t\tformat: () => {},\r\n\t\t\tminTime: 59.5\r\n\t\t}, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: false,\r\n\t\t\tisFirstStep: true,\r\n\t\t\tnextStep: {\r\n\t\t\t\tformatAs: 'hour',\r\n\t\t\t\tminTime: 59.5 * 60\r\n\t\t\t}\r\n\t\t}).should.equal(0.5 * 60 * 1000)\r\n\t})\r\n\r\n\tit('should get time to next update (will be outside of the first step) (future)', () => {\r\n\t\tgetTimeToNextUpdate(60 * 60 * 1000, {\r\n\t\t\tformatAs: 'hour',\r\n\t\t\tminTime: 60 * 60\r\n\t\t}, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: true,\r\n\t\t\tisFirstStep: true\r\n\t\t}).should.equal(1)\r\n\t})\r\n})\r\n\r\ndescribe('getStepChangesAt', () => {\r\n\tit('should work for \"round\" steps', () => {\r\n\t\t// Future.\r\n\t\t// Is at zero point.\r\n\t\t// No next step.\r\n\t\t// No tickable unit.\r\n\t\t// Doesn't update.\r\n\t\tgetStepChangesAt({\r\n\t\t\tunit: 'now'\r\n\t\t}, 0, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: false,\r\n\t\t\tprevStep: undefined\r\n\t\t}).should.equal(INFINITY)\r\n\r\n\t\t// Past.\r\n\t\t// Is at zero point.\r\n\t\t// The next step is seconds.\r\n\t\t// Updates at the next step.\r\n\t\tgetStepChangesAt({\r\n\t\t\tunit: 'second',\r\n\t\t\tminTime: 1\r\n\t\t}, 0, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: false,\r\n\t\t\tprevStep: {}\r\n\t\t}).should.equal(1 * 1000)\r\n\r\n\t\t// Future.\r\n\t\t// Inside the first step.\r\n\t\t// Updates after zero point.\r\n\t\tgetStepChangesAt({\r\n\t\t\tunit: 'now'\r\n\t\t}, 0.9 * 1000, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: true,\r\n\t\t\tprevStep: undefined\r\n\t\t}).should.equal(0.9 * 1000 + 1)\r\n\r\n\t\t// Future.\r\n\t\t// The first step doesn't start at 0.\r\n\t\t// Outside of the first step.\r\n\t\t// Updates right after zero point.\r\n\t\tgetTimeToStepChange(undefined, 0.9 * 1000, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: true,\r\n\t\t\tprevStep: undefined\r\n\t\t}).should.equal(0.9 * 1000 + 1)\r\n\r\n\t\t// Past.\r\n\t\t// The current step is `undefined`.\r\n\t\t// The next step is the first step.\r\n\t\t// The first step doesn't start at 0.\r\n\t\t// Outside of the first step.\r\n\t\t// Updates at entering the first step.\r\n\t\tgetStepChangesAt({\r\n\t\t\tminTime: 1,\r\n\t\t\tunit: 'second'\r\n\t\t}, -0.9 * 1000, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: false,\r\n\t\t\tprevStep: {}\r\n\t\t}).should.equal(0.1 * 1000)\r\n\r\n\t\t// Future.\r\n\t\t// The first step doesn't start at 0.\r\n\t\t// Will output empty string after it exits the current step.\r\n\t\tgetStepChangesAt({\r\n\t\t\tminTime: 1,\r\n\t\t\tunit: 'second'\r\n\t\t}, 1.1 * 1000, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: true,\r\n\t\t\tprevStep: undefined\r\n\t\t}).should.equal(0.1 * 1000 + 1)\r\n\r\n\t\t// Past.\r\n\t\t// Next step is seconds.\r\n\t\t// The \"next\" step doesn't have `minTime`,\r\n\t\t// so \"time to next update\" couldn't be determined.\r\n\t\texpect(getStepChangesAt({\r\n\t\t\tunit: 'unknown-time-unit'\r\n\t\t}, 0, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: false,\r\n\t\t\tprevStep: {}\r\n\t\t})).to.be.undefined\r\n\r\n\t\t// Past.\r\n\t\t// No next step.\r\n\t\t// The last step never changes.\r\n\t\tgetTimeToStepChange(undefined, 0, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: false,\r\n\t\t\tisFirstStep: undefined\r\n\t\t}).should.equal(INFINITY)\r\n\r\n\t\t// Future.\r\n\t\t// Current step is seconds.\r\n\t\t// Updates after zero point.\r\n\t\tgetStepChangesAt({\r\n\t\t\tunit: 'second'\r\n\t\t}, 0, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: true,\r\n\t\t\tprevStep: undefined\r\n\t\t}).should.equal(1)\r\n\r\n\t\t// Past.\r\n\t\t// Next step is minutes.\r\n\t\t// Already at zero point, so no need to update at zero point.\r\n\t\tgetStepChangesAt({\r\n\t\t\tminTime: 60,\r\n\t\t\tformatAs: 'minute'\r\n\t\t}, 0, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: false,\r\n\t\t\tprevStep: {}\r\n\t\t}).should.equal(60 * 1000)\r\n\t})\r\n})"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getTimeToNextUpdate.test.js","names":["_getTimeToNextUpdate","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","describe","it","expect","getTimeToNextUpdate","minTime","format","now","future","isFirstStep","to","equal","INFINITY","Date","nextStep","formatAs","be","undefined","should","test","getStepChangesAt","unit","prevStep","getTimeToStepChange"],"sources":["../../source/steps/getTimeToNextUpdate.test.js"],"sourcesContent":["import getTimeToNextUpdate, { INFINITY, getStepChangesAt, getTimeToStepChange } from './getTimeToNextUpdate.js'\r\n\r\ndescribe('getTimeToNextUpdate', () => {\r\n\tit('should return infinity when there are no more steps, and it does not format as a unit (past)', () => {\r\n\t\texpect(getTimeToNextUpdate(-4 * 60 * 1000, {\r\n\t\t\tminTime: 59.5,\r\n\t\t\tformat: () => ''\r\n\t\t}, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: false,\r\n\t\t\tisFirstStep: true\r\n\t\t})).to.equal(INFINITY)\r\n\t})\r\n\r\n\tit('should support date argument', () => {\r\n\t\texpect(getTimeToNextUpdate(new Date(4 * 60 * 1000), {\r\n\t\t\tminTime: 60\r\n\t\t}, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: true,\r\n\t\t\tisFirstStep: true,\r\n\t\t\tnextStep: {}\r\n\t\t})).to.equal(3 * 60 * 1000 + 1)\r\n\t})\r\n\r\n\tit('should return this step\\'s \"minTime\" timestamp (future)', () => {\r\n\t\texpect(getTimeToNextUpdate(4 * 60 * 1000, {\r\n\t\t\tminTime: 60,\r\n\t\t\tformat: () => ''\r\n\t\t}, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: true,\r\n\t\t\tisFirstStep: true,\r\n\t\t\tnextStep: {\r\n\t\t\t\tformat: () => ''\r\n\t\t\t}\r\n\t\t})).to.equal(3 * 60 * 1000 + 1)\r\n\t})\r\n\r\n\tit('should return undefined when there is a next step and time to next update can not be reliably determined (formatAs) (past)', () => {\r\n\t\texpect(getTimeToNextUpdate(-4 * 60 * 1000, {\r\n\t\t\tminTime: 60,\r\n\t\t\tformatAs: 'minute'\r\n\t\t}, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: false,\r\n\t\t\tisFirstStep: true,\r\n\t\t\tnextStep: {\r\n\t\t\t\tformatAs: 'unknown-time-unit'\r\n\t\t\t}\r\n\t\t})).to.be.undefined\r\n\t})\r\n\r\n\tit('should get time to next update (no next step) (past)', () => {\r\n\t\tgetTimeToNextUpdate(-4 * 60 * 1000, {\r\n\t\t\tformatAs: 'minute',\r\n\t\t\tminTime: 59.5\r\n\t\t}, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: false,\r\n\t\t\tisFirstStep: true\r\n\t\t}).should.equal(0.5 * 60 * 1000)\r\n\t})\r\n\r\n\tit('should get time to next update (no next step) (future)', () => {\r\n\t\tgetTimeToNextUpdate(4 * 60 * 1000, {\r\n\t\t\tformatAs: 'minute',\r\n\t\t\tminTime: 59.5\r\n\t\t}, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: true,\r\n\t\t\tisFirstStep: true\r\n\t\t}).should.equal(0.5 * 60 * 1000 + 1)\r\n\t})\r\n\r\n\tit('should get time to next update (has prev/next step without `minTime`) (future)', () => {\r\n\t\tgetTimeToNextUpdate(4 * 60 * 1000, {\r\n\t\t\tformatAs: 'minute',\r\n\t\t\tminTime: 59.5\r\n\t\t}, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: true,\r\n\t\t\tisFirstStep: true,\r\n\t\t\tnextStep: {\r\n\t\t\t\tformatAs: 'hour',\r\n\t\t\t\ttest: () => false\r\n\t\t\t}\r\n\t\t}).should.equal(0.5 * 60 * 1000 + 1)\r\n\t})\r\n\r\n\tit('should get time to next update (has `getTimeToNextUpdate`) (past)', () => {\r\n\t\tgetTimeToNextUpdate(-4 * 60 * 1000, {\r\n\t\t\tformatAs: 'minute',\r\n\t\t\tminTime: 59.5,\r\n\t\t\tgetTimeToNextUpdate: () => 0.25 * 60 * 1000\r\n\t\t}, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: false,\r\n\t\t\tisFirstStep: true\r\n\t\t}).should.equal(0.25 * 60 * 1000)\r\n\t})\r\n\r\n\tit('should get time to next update (has `getTimeToNextUpdate`) (future)', () => {\r\n\t\tgetTimeToNextUpdate(4 * 60 * 1000, {\r\n\t\t\tformatAs: 'minute',\r\n\t\t\tminTime: 59.5,\r\n\t\t\tgetTimeToNextUpdate: () => 0.25 * 60 * 1000\r\n\t\t}, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: true,\r\n\t\t\tisFirstStep: true\r\n\t\t}).should.equal(0.25 * 60 * 1000)\r\n\t})\r\n\r\n\tit('should get time to next update (has both unit and prev/next steps with `minTime`) (returns time to \"minTime\" of next step) (past)', () => {\r\n\t\tgetTimeToNextUpdate(-59 * 60 * 1000, {\r\n\t\t\tformatAs: 'minute',\r\n\t\t\tminTime: 59.5\r\n\t\t}, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: false,\r\n\t\t\tisFirstStep: true,\r\n\t\t\tnextStep: {\r\n\t\t\t\tformatAs: 'hour',\r\n\t\t\t\tminTime: 59.5 * 60\r\n\t\t\t}\r\n\t\t}).should.equal(0.5 * 60 * 1000)\r\n\t})\r\n\r\n\tit('should get time to next update (has no unit but has prev/next step with `minTime`) (returns time to \"minTime\" of next step) (past)', () => {\r\n\t\tgetTimeToNextUpdate(-59 * 60 * 1000, {\r\n\t\t\tformat: () => {},\r\n\t\t\tminTime: 59.5\r\n\t\t}, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: false,\r\n\t\t\tisFirstStep: true,\r\n\t\t\tnextStep: {\r\n\t\t\t\tformatAs: 'hour',\r\n\t\t\t\tminTime: 59.5 * 60\r\n\t\t\t}\r\n\t\t}).should.equal(0.5 * 60 * 1000)\r\n\t})\r\n\r\n\tit('should get time to next update (will be outside of the first step) (future)', () => {\r\n\t\tgetTimeToNextUpdate(60 * 60 * 1000, {\r\n\t\t\tformatAs: 'hour',\r\n\t\t\tminTime: 60 * 60\r\n\t\t}, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: true,\r\n\t\t\tisFirstStep: true\r\n\t\t}).should.equal(1)\r\n\t})\r\n})\r\n\r\ndescribe('getStepChangesAt', () => {\r\n\tit('should work for \"round\" steps', () => {\r\n\t\t// Future.\r\n\t\t// Is at zero point.\r\n\t\t// No next step.\r\n\t\t// No tickable unit.\r\n\t\t// Doesn't update.\r\n\t\tgetStepChangesAt({\r\n\t\t\tunit: 'now'\r\n\t\t}, 0, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: false,\r\n\t\t\tprevStep: undefined\r\n\t\t}).should.equal(INFINITY)\r\n\r\n\t\t// Past.\r\n\t\t// Is at zero point.\r\n\t\t// The next step is seconds.\r\n\t\t// Updates at the next step.\r\n\t\tgetStepChangesAt({\r\n\t\t\tunit: 'second',\r\n\t\t\tminTime: 1\r\n\t\t}, 0, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: false,\r\n\t\t\tprevStep: {}\r\n\t\t}).should.equal(1 * 1000)\r\n\r\n\t\t// Future.\r\n\t\t// Inside the first step.\r\n\t\t// Updates after zero point.\r\n\t\tgetStepChangesAt({\r\n\t\t\tunit: 'now'\r\n\t\t}, 0.9 * 1000, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: true,\r\n\t\t\tprevStep: undefined\r\n\t\t}).should.equal(0.9 * 1000 + 1)\r\n\r\n\t\t// Future.\r\n\t\t// The first step doesn't start at 0.\r\n\t\t// Outside of the first step.\r\n\t\t// Updates right after zero point.\r\n\t\tgetTimeToStepChange(undefined, 0.9 * 1000, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: true,\r\n\t\t\tprevStep: undefined\r\n\t\t}).should.equal(0.9 * 1000 + 1)\r\n\r\n\t\t// Past.\r\n\t\t// The current step is `undefined`.\r\n\t\t// The next step is the first step.\r\n\t\t// The first step doesn't start at 0.\r\n\t\t// Outside of the first step.\r\n\t\t// Updates at entering the first step.\r\n\t\tgetStepChangesAt({\r\n\t\t\tminTime: 1,\r\n\t\t\tunit: 'second'\r\n\t\t}, -0.9 * 1000, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: false,\r\n\t\t\tprevStep: {}\r\n\t\t}).should.equal(0.1 * 1000)\r\n\r\n\t\t// Future.\r\n\t\t// The first step doesn't start at 0.\r\n\t\t// Will output empty string after it exits the current step.\r\n\t\tgetStepChangesAt({\r\n\t\t\tminTime: 1,\r\n\t\t\tunit: 'second'\r\n\t\t}, 1.1 * 1000, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: true,\r\n\t\t\tprevStep: undefined\r\n\t\t}).should.equal(0.1 * 1000 + 1)\r\n\r\n\t\t// Past.\r\n\t\t// Next step is seconds.\r\n\t\t// The \"next\" step doesn't have `minTime`,\r\n\t\t// so \"time to next update\" couldn't be determined.\r\n\t\texpect(getStepChangesAt({\r\n\t\t\tunit: 'unknown-time-unit'\r\n\t\t}, 0, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: false,\r\n\t\t\tprevStep: {}\r\n\t\t})).to.be.undefined\r\n\r\n\t\t// Past.\r\n\t\t// No next step.\r\n\t\t// The last step never changes.\r\n\t\tgetTimeToStepChange(undefined, 0, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: false,\r\n\t\t\tisFirstStep: undefined\r\n\t\t}).should.equal(INFINITY)\r\n\r\n\t\t// Future.\r\n\t\t// Current step is seconds.\r\n\t\t// Updates after zero point.\r\n\t\tgetStepChangesAt({\r\n\t\t\tunit: 'second'\r\n\t\t}, 0, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: true,\r\n\t\t\tprevStep: undefined\r\n\t\t}).should.equal(1)\r\n\r\n\t\t// Past.\r\n\t\t// Next step is minutes.\r\n\t\t// Already at zero point, so no need to update at zero point.\r\n\t\tgetStepChangesAt({\r\n\t\t\tminTime: 60,\r\n\t\t\tformatAs: 'minute'\r\n\t\t}, 0, {\r\n\t\t\tnow: 0,\r\n\t\t\tfuture: false,\r\n\t\t\tprevStep: {}\r\n\t\t}).should.equal(60 * 1000)\r\n\t})\r\n})"],"mappings":"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","ignoreList":[]}
|