javascript-time-ago 2.5.12 โ 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -1
- package/README.md +410 -272
- 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/FullDateFormatter.js +72 -0
- package/commonjs/FullDateFormatter.js.map +1 -0
- package/commonjs/FullDateFormatter.test.js +26 -0
- package/commonjs/FullDateFormatter.test.js.map +1 -0
- package/commonjs/TimeAgo.js +208 -106
- package/commonjs/TimeAgo.js.map +1 -1
- package/commonjs/TimeAgo.test.js +95 -10
- package/commonjs/TimeAgo.test.js.map +1 -1
- package/commonjs/steps/getStepMinTime.js +26 -19
- package/commonjs/steps/getStepMinTime.js.map +1 -1
- package/commonjs/steps/getTimeToNextUpdate.js +10 -2
- package/commonjs/steps/getTimeToNextUpdate.js.map +1 -1
- package/commonjs/style/twitter.js +2 -3
- package/commonjs/style/twitter.js.map +1 -1
- package/commonjs/style/twitter.test.js +5 -2
- package/commonjs/style/twitter.test.js.map +1 -1
- package/full-date-formatter/index.cjs +4 -0
- package/full-date-formatter/index.cjs.js +9 -0
- package/full-date-formatter/index.d.ts +6 -0
- package/full-date-formatter/index.js +1 -0
- package/full-date-formatter/package.json +15 -0
- package/index.cjs +1 -1
- package/index.cjs.js +2 -2
- package/index.d.ts +14 -4
- package/index.js +3 -1
- package/modules/FullDateFormatter.js +67 -0
- package/modules/FullDateFormatter.js.map +1 -0
- package/modules/FullDateFormatter.test.js +22 -0
- package/modules/FullDateFormatter.test.js.map +1 -0
- package/modules/TimeAgo.js +208 -107
- package/modules/TimeAgo.js.map +1 -1
- package/modules/TimeAgo.test.js +95 -8
- package/modules/TimeAgo.test.js.map +1 -1
- package/modules/steps/getStepMinTime.js +26 -19
- package/modules/steps/getStepMinTime.js.map +1 -1
- package/modules/steps/getTimeToNextUpdate.js +10 -2
- package/modules/steps/getTimeToNextUpdate.js.map +1 -1
- package/modules/style/twitter.js +3 -3
- package/modules/style/twitter.js.map +1 -1
- package/modules/style/twitter.test.js +5 -2
- package/modules/style/twitter.test.js.map +1 -1
- package/package.json +16 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"twitter.test.js","names":["_twitter","_interopRequireDefault","require","_TimeAgo","_index","e","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","ownKeys","r","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","toPrimitive","call","TypeError","String","Number","describe","it","timeAgo","TimeAgo","format","Date","now","hour","should","include","formatDatePastBy","secondsPassed","twitter","equal","minute","round","getTime","day","month","year","test","time","result","date","getTimeToNextUpdate","deep"],"sources":["../../source/style/twitter.test.js"],"sourcesContent":["import twitter from './twitter.js'\r\nimport TimeAgo from '../TimeAgo.js'\r\nimport { hour, minute, day, month, year } from '../steps/index.js'\r\n\r\ndescribe('style/twitter', () => {\r\n\tit('should fallback from \"mini\" to \"narrow\"', () => {\r\n\t\tconst timeAgo = new TimeAgo('ccp')\r\n\t\ttimeAgo.format(Date.now() - 3 * hour * 1000, 'twitter').should.include(' ๐๐ฎ๐๐ด๐ ๐๐๐ฌ')\r\n\t})\r\n\r\n\tit('should format Twitter style relative time (English) (round: \"round\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\r\n\t\tconst formatDatePastBy = (secondsPassed) => timeAgo.format(-secondsPassed * 1000, { now: 0, ...twitter })\r\n\r\n\t\tformatDatePastBy(0.49).should.equal('0s')\r\n\t\tformatDatePastBy(0.5).should.equal('1s')\r\n\t\tformatDatePastBy(59.49).should.equal('59s')\r\n\t\tformatDatePastBy(59.5).should.equal('1m')\r\n\t\tformatDatePastBy(1.49 * minute).should.equal('1m')\r\n\t\tformatDatePastBy(1.5 * minute).should.equal('2m')\r\n\t\t// โฆ\r\n\t\tformatDatePastBy(59.49 * minute).should.equal('59m')\r\n\t\tformatDatePastBy(59.5 * minute).should.equal('1h')\r\n\t\tformatDatePastBy(1.49 * hour).should.equal('1h')\r\n\t\tformatDatePastBy(1.5 * hour).should.equal('2h')\r\n\t\t// โฆ\r\n\t\tformatDatePastBy(23.49 * hour).should.equal('23h')\r\n\t})\r\n\r\n\tit('should format Twitter style relative time (English) (round: \"floor\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\r\n\t\tconst formatDatePastBy = (secondsPassed) => timeAgo.format(-secondsPassed * 1000, { now: 0, ...twitter, round: 'floor' })\r\n\r\n\t\tformatDatePastBy(0).should.equal('0s')\r\n\t\tformatDatePastBy(0.9).should.equal('0s')\r\n\t\tformatDatePastBy(1).should.equal('1s')\r\n\t\tformatDatePastBy(59.9).should.equal('59s')\r\n\t\tformatDatePastBy(60).should.equal('1m')\r\n\t\tformatDatePastBy(1.9 * minute).should.equal('1m')\r\n\t\tformatDatePastBy(2 * minute).should.equal('2m')\r\n\t\tformatDatePastBy(2.9 * minute).should.equal('2m')\r\n\t\tformatDatePastBy(3 * minute).should.equal('3m')\r\n\t\t// โฆ\r\n\t\tformatDatePastBy(59.9 * minute).should.equal('59m')\r\n\t\tformatDatePastBy(60 * minute).should.equal('1h')\r\n\t\tformatDatePastBy(1.9 * hour).should.equal('1h')\r\n\t\tformatDatePastBy(2 * hour).should.equal('2h')\r\n\t\tformatDatePastBy(2.9 * hour).should.equal('2h')\r\n\t\tformatDatePastBy(3 * hour).should.equal('3h')\r\n\t\t// โฆ\r\n\t\tformatDatePastBy(23.9 * hour).should.equal('23h')\r\n\t})\r\n\r\n\tit('should format Twitter style relative time (English) (absolute dates)', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\r\n\t\t// April 10th, 2016, 12:00.\r\n\t\tconst now = new Date(2016, 3, 10, 12, 0).getTime()\r\n\t\tconst formatDatePastBy = (secondsPassed) => timeAgo.format(now - secondsPassed * 1000, { now, ...twitter })\r\n\r\n\t\tformatDatePastBy(day + 2 * minute + hour).should.equal('Apr 9')\r\n\t\t// โฆ\r\n\t\t// `month` is about 30.5 days.\r\n\t\tformatDatePastBy(month * 3).should.equal('Jan 10')\r\n\t\tformatDatePastBy(month * 4).should.equal('Dec 10, 2015')\r\n\t\tformatDatePastBy(year).should.equal('Apr 11, 2015')\r\n\r\n\t\t// Test future dates.\r\n\t\t// `month` is about 30.5 days.\r\n\t\tformatDatePastBy(-1 * month * 8).should.equal('Dec 10')\r\n\t\tformatDatePastBy(-1 * month * 9).should.equal('Jan 9, 2017')\r\n\t})\r\n\r\n\tit('should format Twitter style relative time (Russian)', () => {\r\n\t\tconst timeAgo = new TimeAgo('ru')\r\n\r\n\t\tconst now = new Date(2016, 3, 10, 22, 59).getTime()\r\n\t\tconst formatDatePastBy = (secondsPassed) => timeAgo.format(now - secondsPassed * 1000, { now, ...twitter })\r\n\r\n\t\tformatDatePastBy(0).should.equal('0 ั')\r\n\t\tformatDatePastBy(1).should.equal('1 ั')\r\n\t\tformatDatePastBy(minute).should.equal('1 ะผะธะฝ')\r\n\t\tformatDatePastBy(hour).should.equal('1 ั')\r\n\t\tformatDatePastBy(day + 62 * minute).should.equal('9 ะฐะฟั.')\r\n\t\tformatDatePastBy(year).should.equal('11 ะฐะฟั. 2015 ะณ.')\r\n\t})\r\n\r\n\tit('should format Twitter style relative time (Korean)', () => {\r\n\t\tconst timeAgo = new TimeAgo('ko')\r\n\r\n\t\tconst now = new Date(2016, 3, 10, 22, 59).getTime()\r\n\t\tconst formatDatePastBy = (secondsPassed) => timeAgo.format(now - secondsPassed * 1000, { now, ...twitter })\r\n\r\n\t\tformatDatePastBy(minute).should.equal('1๋ถ')\r\n\t\tformatDatePastBy(hour).should.equal('1์๊ฐ')\r\n\t\tformatDatePastBy(day + 62 * minute).should.equal('4์ 9์ผ')\r\n\t\tformatDatePastBy(year).should.equal('2015๋
4์ 11์ผ')\r\n\t})\r\n\r\n\tit('should format Twitter style relative time (German)', () => {\r\n\t\tconst timeAgo = new TimeAgo('de')\r\n\r\n\t\tconst now = new Date(2016, 3, 10, 22, 59).getTime()\r\n\t\tconst formatDatePastBy = (secondsPassed) => timeAgo.format(now - secondsPassed * 1000, { now, ...twitter })\r\n\r\n\t\tformatDatePastBy(minute).should.equal('1 Min.')\r\n\t\tformatDatePastBy(hour).should.equal('1 Std.')\r\n\t\tformatDatePastBy(day + 62 * minute).should.equal('9. Apr.')\r\n\t\tformatDatePastBy(year).should.equal('11. Apr. 2015')\r\n\t})\r\n\r\n\tit('should format Twitter style relative time (French)', () => {\r\n\t\tconst timeAgo = new TimeAgo('fr')\r\n\r\n\t\tconst now = new Date(2016, 3, 10, 22, 59).getTime()\r\n\t\tconst formatDatePastBy = (secondsPassed) => timeAgo.format(now - secondsPassed * 1000, { now, ...twitter })\r\n\r\n\t\tformatDatePastBy(minute).should.equal('1 min.')\r\n\t\tformatDatePastBy(hour).should.equal('1 h')\r\n\t\tformatDatePastBy(day + 62 * minute).should.equal('9 avr.')\r\n\t\tformatDatePastBy(year).should.equal('11 avr. 2015')\r\n\t})\r\n\r\n\tit('should format Twitter style relative time (Chinese)', () => {\r\n\t\tconst timeAgo = new TimeAgo('zh')\r\n\r\n\t\tconst now = new Date(2016, 3, 10, 22, 59).getTime()\r\n\t\tconst formatDatePastBy = (secondsPassed) => timeAgo.format(now - secondsPassed * 1000, { now, ...twitter })\r\n\r\n\t\tformatDatePastBy(minute).should.equal('1ๅ้')\r\n\t\tformatDatePastBy(hour).should.equal('1ๅฐๆถ')\r\n\t\tformatDatePastBy(day + 62 * minute).should.equal('4ๆ9ๆฅ')\r\n\t\tformatDatePastBy(year).should.equal('2015ๅนด4ๆ11ๆฅ')\r\n\t})\r\n\r\n\t// This test won't pass because `Intl.DateTimeFormat` is read at\r\n\t// initialization time, not at run time.\r\n\t// it('should fall back to generic style when Intl.DateTimeFormat is not available', () => {\r\n\t// \tconst DateTimeFormat = Intl.DateTimeFormat\r\n\t// \tIntl.DateTimeFormat = undefined\r\n\t//\r\n\t// \tconst timeAgo = new TimeAgo('en')\r\n\t// \ttimeAgo.format(Date.now() - 365 * 24 * hour * 1000, 'twitter').should.equal('1yr')\r\n\t//\r\n\t// \tIntl.DateTimeFormat = DateTimeFormat\r\n\t// })\r\n\r\n\tit('should support timestamp argument on `yearMonthAndDay.test()`', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\ttimeAgo.format(0, 'twitter').should.equal('Jan 1, 1970')\r\n\t})\r\n\r\n\tit('should round as \"floor\"', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\tconst test = (time, result) => timeAgo.format(time, 'twitter', {\r\n\t\t\tround: 'floor',\r\n\t\t\tnow: 0\r\n\t\t}).should.equal(result)\r\n\t\ttest(2001, '2s')\r\n\t\ttest(2000, '2s')\r\n\t\ttest(1999, '1s')\r\n\t\ttest(1001, '1s')\r\n\t\ttest(1000, '1s')\r\n\t\ttest(999, '0s')\r\n\t\ttest(0, '0s')\r\n\t\ttest(-999, '0s')\r\n\t\ttest(-1000, '1s')\r\n\t\ttest(-1001, '1s')\r\n\t\ttest(-1999, '1s')\r\n\t\ttest(-2000, '2s')\r\n\t\ttest(-2001, '2s')\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\r\n\t\t// April 10th, 2018, 12:00.\r\n\t\tconst date = new Date(2018, 3, 10, 12, 0)\r\n\r\n\t\t// April 10th, 2016, 12:00 (two years earlier).\r\n\t\tlet now = new Date(2016, 3, 10, 12, 0).getTime()\r\n\r\n\t\ttimeAgo.format(\r\n\t\t\tdate,\r\n\t\t\t'twitter',\r\n\t\t\t{\r\n\t\t\t\tnow,\r\n\t\t\t\tgetTimeToNextUpdate: true\r\n\t\t\t}\r\n\t\t).should.deep.equal([\r\n\t\t\t'Apr 10, 2018',\r\n\t\t\t// Updates on Jan 1st, 2018, 00:00.\r\n\t\t\tnew Date(2018, 0, 1).getTime() - now\r\n\t\t])\r\n\r\n\t\t// 1st, 2018, 00:00.\r\n\t\tnow = new Date(2018, 0, 1).getTime()\r\n\r\n\t\ttimeAgo.format(\r\n\t\t\tdate,\r\n\t\t\t'twitter',\r\n\t\t\t{\r\n\t\t\t\tnow,\r\n\t\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\t\tround: 'floor'\r\n\t\t\t}\r\n\t\t).should.deep.equal([\r\n\t\t\t'Apr 10',\r\n\t\t\t// Updates after April 9th, 2018, 12:00.\r\n\t\t\t(new Date(2018, 3, 9, 12, 0).getTime() + 1) - now\r\n\t\t])\r\n\r\n\t\t// After April 9th, 2018, 12:00.\r\n\t\tnow = new Date(2018, 3, 9, 12, 0).getTime() + 1\r\n\r\n\t\ttimeAgo.format(\r\n\t\t\tdate,\r\n\t\t\t'twitter',\r\n\t\t\t{\r\n\t\t\t\tnow,\r\n\t\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\t\tround: 'floor'\r\n\t\t\t}\r\n\t\t).should.deep.equal([\r\n\t\t\t'23h',\r\n\t\t\t// Updates in an hour.\r\n\t\t\t60 * 60 * 1000\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\r\n\t\t// April 10th, 2018, 12:00.\r\n\t\tconst date = new Date(2018, 3, 10, 12, 0)\r\n\r\n\t\tlet now\r\n\r\n\t\t// 1st, 2018, 00:00.\r\n\t\tnow = new Date(2018, 0, 1).getTime()\r\n\r\n\t\ttimeAgo.format(\r\n\t\t\tdate,\r\n\t\t\t'twitter',\r\n\t\t\t{\r\n\t\t\t\tnow,\r\n\t\t\t\tgetTimeToNextUpdate: true\r\n\t\t\t}\r\n\t\t).should.deep.equal([\r\n\t\t\t'Apr 10',\r\n\t\t\t// Updates after April 9th, 2018, 11:30.\r\n\t\t\t(new Date(2018, 3, 9, 12, 0).getTime() + 30 * 60 * 1000 + 1) - now\r\n\t\t])\r\n\r\n\t\t// After April 9th, 2018, 12:00.\r\n\t\tnow = new Date(2018, 3, 9, 12, 0).getTime() + 30 * 60 * 1000 + 1\r\n\r\n\t\ttimeAgo.format(\r\n\t\t\tdate,\r\n\t\t\t'twitter',\r\n\t\t\t{\r\n\t\t\t\tnow,\r\n\t\t\t\tgetTimeToNextUpdate: true\r\n\t\t\t}\r\n\t\t).should.deep.equal([\r\n\t\t\t'23h',\r\n\t\t\t// Updates in an hour.\r\n\t\t\t60 * 60 * 1000\r\n\t\t])\r\n\t})\r\n})"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"twitter.test.js","names":["_twitter","_interopRequireDefault","require","_TimeAgo","_index","e","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","ownKeys","r","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","toPrimitive","call","TypeError","String","Number","describe","it","timeAgo","TimeAgo","format","Date","now","hour","should","include","formatDatePastBy","secondsPassed","twitter","equal","minute","round","getTime","day","month","year","test","time","result","date","getTimeToNextUpdate","getTimeToNextUpdateUncapped","deep"],"sources":["../../source/style/twitter.test.js"],"sourcesContent":["import twitter from './twitter.js'\r\nimport TimeAgo from '../TimeAgo.js'\r\nimport { hour, minute, day, month, year } from '../steps/index.js'\r\n\r\ndescribe('style/twitter', () => {\r\n\tit('should fallback from \"mini\" to \"narrow\"', () => {\r\n\t\tconst timeAgo = new TimeAgo('ccp')\r\n\t\ttimeAgo.format(Date.now() - 3 * hour * 1000, 'twitter').should.include(' ๐๐ฎ๐๐ด๐ ๐๐๐ฌ')\r\n\t})\r\n\r\n\tit('should format Twitter style relative time (English) (round: \"round\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\r\n\t\tconst formatDatePastBy = (secondsPassed) => timeAgo.format(-secondsPassed * 1000, { now: 0, ...twitter })\r\n\r\n\t\tformatDatePastBy(0.49).should.equal('0s')\r\n\t\tformatDatePastBy(0.5).should.equal('1s')\r\n\t\tformatDatePastBy(59.49).should.equal('59s')\r\n\t\tformatDatePastBy(59.5).should.equal('1m')\r\n\t\tformatDatePastBy(1.49 * minute).should.equal('1m')\r\n\t\tformatDatePastBy(1.5 * minute).should.equal('2m')\r\n\t\t// โฆ\r\n\t\tformatDatePastBy(59.49 * minute).should.equal('59m')\r\n\t\tformatDatePastBy(59.5 * minute).should.equal('1h')\r\n\t\tformatDatePastBy(1.49 * hour).should.equal('1h')\r\n\t\tformatDatePastBy(1.5 * hour).should.equal('2h')\r\n\t\t// โฆ\r\n\t\tformatDatePastBy(23.49 * hour).should.equal('23h')\r\n\t})\r\n\r\n\tit('should format Twitter style relative time (English) (round: \"floor\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\r\n\t\tconst formatDatePastBy = (secondsPassed) => timeAgo.format(-secondsPassed * 1000, { now: 0, ...twitter, round: 'floor' })\r\n\r\n\t\tformatDatePastBy(0).should.equal('0s')\r\n\t\tformatDatePastBy(0.9).should.equal('0s')\r\n\t\tformatDatePastBy(1).should.equal('1s')\r\n\t\tformatDatePastBy(59.9).should.equal('59s')\r\n\t\tformatDatePastBy(60).should.equal('1m')\r\n\t\tformatDatePastBy(1.9 * minute).should.equal('1m')\r\n\t\tformatDatePastBy(2 * minute).should.equal('2m')\r\n\t\tformatDatePastBy(2.9 * minute).should.equal('2m')\r\n\t\tformatDatePastBy(3 * minute).should.equal('3m')\r\n\t\t// โฆ\r\n\t\tformatDatePastBy(59.9 * minute).should.equal('59m')\r\n\t\tformatDatePastBy(60 * minute).should.equal('1h')\r\n\t\tformatDatePastBy(1.9 * hour).should.equal('1h')\r\n\t\tformatDatePastBy(2 * hour).should.equal('2h')\r\n\t\tformatDatePastBy(2.9 * hour).should.equal('2h')\r\n\t\tformatDatePastBy(3 * hour).should.equal('3h')\r\n\t\t// โฆ\r\n\t\tformatDatePastBy(23.9 * hour).should.equal('23h')\r\n\t})\r\n\r\n\tit('should format Twitter style relative time (English) (absolute dates)', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\r\n\t\t// April 10th, 2016, 12:00.\r\n\t\tconst now = new Date(2016, 3, 10, 12, 0).getTime()\r\n\t\tconst formatDatePastBy = (secondsPassed) => timeAgo.format(now - secondsPassed * 1000, { now, ...twitter })\r\n\r\n\t\tformatDatePastBy(day + 2 * minute + hour).should.equal('Apr 9')\r\n\t\t// โฆ\r\n\t\t// `month` is about 30.5 days.\r\n\t\tformatDatePastBy(month * 3).should.equal('Jan 10')\r\n\t\tformatDatePastBy(month * 4).should.equal('Dec 10, 2015')\r\n\t\tformatDatePastBy(year).should.equal('Apr 11, 2015')\r\n\r\n\t\t// Test future dates.\r\n\t\t// `month` is about 30.5 days.\r\n\t\tformatDatePastBy(-1 * month * 8).should.equal('Dec 10')\r\n\t\tformatDatePastBy(-1 * month * 9).should.equal('Jan 9, 2017')\r\n\t})\r\n\r\n\tit('should format Twitter style relative time (Russian)', () => {\r\n\t\tconst timeAgo = new TimeAgo('ru')\r\n\r\n\t\tconst now = new Date(2016, 3, 10, 22, 59).getTime()\r\n\t\tconst formatDatePastBy = (secondsPassed) => timeAgo.format(now - secondsPassed * 1000, { now, ...twitter })\r\n\r\n\t\tformatDatePastBy(0).should.equal('0 ั')\r\n\t\tformatDatePastBy(1).should.equal('1 ั')\r\n\t\tformatDatePastBy(minute).should.equal('1 ะผะธะฝ')\r\n\t\tformatDatePastBy(hour).should.equal('1 ั')\r\n\t\tformatDatePastBy(day + 62 * minute).should.equal('9 ะฐะฟั.')\r\n\t\tformatDatePastBy(year).should.equal('11 ะฐะฟั. 2015 ะณ.')\r\n\t})\r\n\r\n\tit('should format Twitter style relative time (Korean)', () => {\r\n\t\tconst timeAgo = new TimeAgo('ko')\r\n\r\n\t\tconst now = new Date(2016, 3, 10, 22, 59).getTime()\r\n\t\tconst formatDatePastBy = (secondsPassed) => timeAgo.format(now - secondsPassed * 1000, { now, ...twitter })\r\n\r\n\t\tformatDatePastBy(minute).should.equal('1๋ถ')\r\n\t\tformatDatePastBy(hour).should.equal('1์๊ฐ')\r\n\t\tformatDatePastBy(day + 62 * minute).should.equal('4์ 9์ผ')\r\n\t\tformatDatePastBy(year).should.equal('2015๋
4์ 11์ผ')\r\n\t})\r\n\r\n\tit('should format Twitter style relative time (German)', () => {\r\n\t\tconst timeAgo = new TimeAgo('de')\r\n\r\n\t\tconst now = new Date(2016, 3, 10, 22, 59).getTime()\r\n\t\tconst formatDatePastBy = (secondsPassed) => timeAgo.format(now - secondsPassed * 1000, { now, ...twitter })\r\n\r\n\t\tformatDatePastBy(minute).should.equal('1 Min.')\r\n\t\tformatDatePastBy(hour).should.equal('1 Std.')\r\n\t\tformatDatePastBy(day + 62 * minute).should.equal('9. Apr.')\r\n\t\tformatDatePastBy(year).should.equal('11. Apr. 2015')\r\n\t})\r\n\r\n\tit('should format Twitter style relative time (French)', () => {\r\n\t\tconst timeAgo = new TimeAgo('fr')\r\n\r\n\t\tconst now = new Date(2016, 3, 10, 22, 59).getTime()\r\n\t\tconst formatDatePastBy = (secondsPassed) => timeAgo.format(now - secondsPassed * 1000, { now, ...twitter })\r\n\r\n\t\tformatDatePastBy(minute).should.equal('1 min.')\r\n\t\tformatDatePastBy(hour).should.equal('1 h')\r\n\t\tformatDatePastBy(day + 62 * minute).should.equal('9 avr.')\r\n\t\tformatDatePastBy(year).should.equal('11 avr. 2015')\r\n\t})\r\n\r\n\tit('should format Twitter style relative time (Chinese)', () => {\r\n\t\tconst timeAgo = new TimeAgo('zh')\r\n\r\n\t\tconst now = new Date(2016, 3, 10, 22, 59).getTime()\r\n\t\tconst formatDatePastBy = (secondsPassed) => timeAgo.format(now - secondsPassed * 1000, { now, ...twitter })\r\n\r\n\t\tformatDatePastBy(minute).should.equal('1ๅ้')\r\n\t\tformatDatePastBy(hour).should.equal('1ๅฐๆถ')\r\n\t\tformatDatePastBy(day + 62 * minute).should.equal('4ๆ9ๆฅ')\r\n\t\tformatDatePastBy(year).should.equal('2015ๅนด4ๆ11ๆฅ')\r\n\t})\r\n\r\n\t// This test won't pass because `Intl.DateTimeFormat` is read at\r\n\t// initialization time, not at run time.\r\n\t// it('should fall back to generic style when Intl.DateTimeFormat is not available', () => {\r\n\t// \tconst DateTimeFormat = Intl.DateTimeFormat\r\n\t// \tIntl.DateTimeFormat = undefined\r\n\t//\r\n\t// \tconst timeAgo = new TimeAgo('en')\r\n\t// \ttimeAgo.format(Date.now() - 365 * 24 * hour * 1000, 'twitter').should.equal('1yr')\r\n\t//\r\n\t// \tIntl.DateTimeFormat = DateTimeFormat\r\n\t// })\r\n\r\n\tit('should support timestamp argument on `yearMonthAndDay.test()`', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\ttimeAgo.format(0, 'twitter').should.equal('Jan 1, 1970')\r\n\t})\r\n\r\n\tit('should round as \"floor\"', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\tconst test = (time, result) => timeAgo.format(time, 'twitter', {\r\n\t\t\tround: 'floor',\r\n\t\t\tnow: 0\r\n\t\t}).should.equal(result)\r\n\t\ttest(2001, '2s')\r\n\t\ttest(2000, '2s')\r\n\t\ttest(1999, '1s')\r\n\t\ttest(1001, '1s')\r\n\t\ttest(1000, '1s')\r\n\t\ttest(999, '0s')\r\n\t\ttest(0, '0s')\r\n\t\ttest(-999, '0s')\r\n\t\ttest(-1000, '1s')\r\n\t\ttest(-1001, '1s')\r\n\t\ttest(-1999, '1s')\r\n\t\ttest(-2000, '2s')\r\n\t\ttest(-2001, '2s')\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\r\n\t\t// April 10th, 2018, 12:00.\r\n\t\tconst date = new Date(2018, 3, 10, 12, 0)\r\n\r\n\t\t// April 10th, 2016, 12:00 (two years earlier).\r\n\t\tlet now = new Date(2016, 3, 10, 12, 0).getTime()\r\n\r\n\t\ttimeAgo.format(\r\n\t\t\tdate,\r\n\t\t\t'twitter',\r\n\t\t\t{\r\n\t\t\t\tnow,\r\n\t\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\t\tgetTimeToNextUpdateUncapped: true\r\n\t\t\t}\r\n\t\t).should.deep.equal([\r\n\t\t\t'Apr 10, 2018',\r\n\t\t\t// Updates on Jan 1st, 2018, 00:00.\r\n\t\t\tnew Date(2018, 0, 1).getTime() - now\r\n\t\t])\r\n\r\n\t\t// 1st, 2018, 00:00.\r\n\t\tnow = new Date(2018, 0, 1).getTime()\r\n\r\n\t\ttimeAgo.format(\r\n\t\t\tdate,\r\n\t\t\t'twitter',\r\n\t\t\t{\r\n\t\t\t\tnow,\r\n\t\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\t\tgetTimeToNextUpdateUncapped: true,\r\n\t\t\t\tround: 'floor'\r\n\t\t\t}\r\n\t\t).should.deep.equal([\r\n\t\t\t'Apr 10',\r\n\t\t\t// Updates after April 9th, 2018, 12:00.\r\n\t\t\t(new Date(2018, 3, 9, 12, 0).getTime() + 1) - now\r\n\t\t])\r\n\r\n\t\t// After April 9th, 2018, 12:00.\r\n\t\tnow = new Date(2018, 3, 9, 12, 0).getTime() + 1\r\n\r\n\t\ttimeAgo.format(\r\n\t\t\tdate,\r\n\t\t\t'twitter',\r\n\t\t\t{\r\n\t\t\t\tnow,\r\n\t\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\t\tround: 'floor'\r\n\t\t\t}\r\n\t\t).should.deep.equal([\r\n\t\t\t'23h',\r\n\t\t\t// Updates in an hour.\r\n\t\t\t60 * 60 * 1000\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\r\n\t\t// April 10th, 2018, 12:00.\r\n\t\tconst date = new Date(2018, 3, 10, 12, 0)\r\n\r\n\t\tlet now\r\n\r\n\t\t// 1st, 2018, 00:00.\r\n\t\tnow = new Date(2018, 0, 1).getTime()\r\n\r\n\t\ttimeAgo.format(\r\n\t\t\tdate,\r\n\t\t\t'twitter',\r\n\t\t\t{\r\n\t\t\t\tnow,\r\n\t\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\t\tgetTimeToNextUpdateUncapped: true\r\n\t\t\t}\r\n\t\t).should.deep.equal([\r\n\t\t\t'Apr 10',\r\n\t\t\t// Updates after April 9th, 2018, 11:30.\r\n\t\t\t(new Date(2018, 3, 9, 12, 0).getTime() + 30 * 60 * 1000 + 1) - now\r\n\t\t])\r\n\r\n\t\t// After April 9th, 2018, 12:00.\r\n\t\tnow = new Date(2018, 3, 9, 12, 0).getTime() + 30 * 60 * 1000 + 1\r\n\r\n\t\ttimeAgo.format(\r\n\t\t\tdate,\r\n\t\t\t'twitter',\r\n\t\t\t{\r\n\t\t\t\tnow,\r\n\t\t\t\tgetTimeToNextUpdate: true\r\n\t\t\t}\r\n\t\t).should.deep.equal([\r\n\t\t\t'23h',\r\n\t\t\t// Updates in an hour.\r\n\t\t\t60 * 60 * 1000\r\n\t\t])\r\n\t})\r\n})"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
// This file is deprecated.
|
|
4
|
+
// It's the same as `index.cjs`, just with an added `.js` file extension.
|
|
5
|
+
// It only exists for compatibility with the software that doesn't like `*.cjs` file extension.
|
|
6
|
+
// https://gitlab.com/catamphetamine/libphonenumber-js/-/issues/61#note_950728292
|
|
7
|
+
|
|
8
|
+
exports = module.exports = require('../commonjs/FullDateFormatter.js').default
|
|
9
|
+
exports['default'] = require('../commonjs/FullDateFormatter.js').default
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as default } from '../modules/FullDateFormatter.js'
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"private": true,
|
|
3
|
+
"name": "javascript-time-ago/full-date-formatter",
|
|
4
|
+
"main": "index.cjs",
|
|
5
|
+
"module": "index.js",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./index.d.ts",
|
|
10
|
+
"import": "./index.js",
|
|
11
|
+
"require": "./index.cjs"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"sideEffects": false
|
|
15
|
+
}
|
package/index.cjs
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
exports = module.exports = require('./commonjs/TimeAgo.js').default
|
|
4
4
|
exports['default'] = require('./commonjs/TimeAgo.js').default
|
|
5
5
|
|
|
6
|
+
// These two legacy exports are deprecated.
|
|
6
7
|
var locale = require('./commonjs/locale.js')
|
|
7
|
-
|
|
8
8
|
exports.intlDateTimeFormatSupported = locale.intlDateTimeFormatSupported
|
|
9
9
|
exports.intlDateTimeFormatSupportedLocale = locale.intlDateTimeFormatSupportedLocale
|
package/index.cjs.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
// This file
|
|
3
|
+
// This file is deprecated.
|
|
4
4
|
// It's the same as `index.cjs`, just with an added `.js` file extension.
|
|
5
5
|
// It only exists for compatibility with the software that doesn't like `*.cjs` file extension.
|
|
6
6
|
// https://gitlab.com/catamphetamine/libphonenumber-js/-/issues/61#note_950728292
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
exports = module.exports = require('./commonjs/TimeAgo.js').default
|
|
9
9
|
exports['default'] = require('./commonjs/TimeAgo.js').default
|
|
10
10
|
|
|
11
|
+
// These two legacy exports are deprecated.
|
|
11
12
|
var locale = require('./commonjs/locale.js')
|
|
12
|
-
|
|
13
13
|
exports.intlDateTimeFormatSupported = locale.intlDateTimeFormatSupported
|
|
14
14
|
exports.intlDateTimeFormatSupportedLocale = locale.intlDateTimeFormatSupportedLocale
|
package/index.d.ts
CHANGED
|
@@ -97,7 +97,7 @@ export interface Step {
|
|
|
97
97
|
minTime?: number | MinTimeFunction;
|
|
98
98
|
|
|
99
99
|
format?(date: DateInput, locale: Locale, options: {
|
|
100
|
-
formatAs: (unit: Unit,
|
|
100
|
+
formatAs: (unit: Unit, amount: number) => string,
|
|
101
101
|
now: number,
|
|
102
102
|
future: boolean
|
|
103
103
|
}): string | void;
|
|
@@ -118,10 +118,18 @@ export interface Style {
|
|
|
118
118
|
interface FormatOptions {
|
|
119
119
|
now?: number;
|
|
120
120
|
future?: boolean;
|
|
121
|
-
getTimeToNextUpdate?: boolean;
|
|
122
121
|
round?: Rounding;
|
|
123
122
|
}
|
|
124
123
|
|
|
124
|
+
interface FormatOptionsWithGetTimeToNextUpdate extends FormatOptions {
|
|
125
|
+
getTimeToNextUpdate: boolean;
|
|
126
|
+
getTimeToNextUpdateUncapped?: boolean;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
interface FormatOptionsWithRefresh extends FormatOptions {
|
|
130
|
+
refresh: (text: string) => void;
|
|
131
|
+
}
|
|
132
|
+
|
|
125
133
|
export default class TimeAgo {
|
|
126
134
|
constructor(locale: Locale | Locale[], options?: { polyfill?: boolean });
|
|
127
135
|
// When `getTimeToNextUpdate: true` option is passed to `.format()`,
|
|
@@ -130,11 +138,13 @@ export default class TimeAgo {
|
|
|
130
138
|
// Perhaps it's not the best solution, and it would be better to introduce a new function called
|
|
131
139
|
// `.formatAndGetTimeToNextUpdate()`. But at this stage that would require a "major" version number update,
|
|
132
140
|
// and I wouldn't prefer doing that for such an insignificant change.
|
|
133
|
-
format(date: DateInput, style?: FormatStyleName | Style, options?: FormatOptions):
|
|
134
|
-
format
|
|
141
|
+
format(date: DateInput, style?: FormatStyleName | Style, options?: FormatOptions): string;
|
|
142
|
+
format(date: DateInput, options: FormatOptionsWithGetTimeToNextUpdate): [string, number?];
|
|
143
|
+
format(date: DateInput, options: FormatOptionsWithRefresh): [string, () => void];
|
|
135
144
|
getLabels(labelsType: LabelStyleName | LabelStyleName[]): Labels;
|
|
136
145
|
static addLocale(localeData: LocaleData): void;
|
|
137
146
|
static addDefaultLocale(localeData: LocaleData): void;
|
|
147
|
+
static getDefaultLocale(): Locale;
|
|
138
148
|
static setDefaultLocale(locale: Locale): void;
|
|
139
149
|
static addLabels(locale: Locale, name: LabelStyleName, labels: Labels): void;
|
|
140
150
|
}
|
package/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export { default } from './modules/TimeAgo.js'
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
export { default as FullDateFormatter } from './modules/FullDateFormatter.js'
|
|
4
|
+
|
|
5
|
+
// These two legacy exports are deprecated.
|
|
4
6
|
export {
|
|
5
7
|
intlDateTimeFormatSupported as intlDateTimeFormatSupported,
|
|
6
8
|
intlDateTimeFormatSupportedLocale as intlDateTimeFormatSupportedLocale
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
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); }
|
|
2
|
+
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
3
|
+
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); } }
|
|
4
|
+
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
6
|
+
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); }
|
|
7
|
+
var FullDateFormatter = /*#__PURE__*/function () {
|
|
8
|
+
function FullDateFormatter(localeOrLocales) {
|
|
9
|
+
_classCallCheck(this, FullDateFormatter);
|
|
10
|
+
// See if `Intl.DateTimeFormat` is supported in the current environment.
|
|
11
|
+
//
|
|
12
|
+
// `Intl` is present in all modern web browsers and is only absent from some of the ancient ones.
|
|
13
|
+
//
|
|
14
|
+
// Babel transforms `typeof` into some "branches"
|
|
15
|
+
// so istanbul will show this as "branch not covered".
|
|
16
|
+
/* istanbul ignore next */
|
|
17
|
+
var isIntlAvailable = (typeof Intl === "undefined" ? "undefined" : _typeof(Intl)) === 'object';
|
|
18
|
+
var isIntlDateTimeFormatAvailable = isIntlAvailable && typeof Intl.DateTimeFormat === 'function';
|
|
19
|
+
|
|
20
|
+
/* istanbul ignore else */
|
|
21
|
+
if (isIntlDateTimeFormatAvailable) {
|
|
22
|
+
this.formatter = new Intl.DateTimeFormat(localeOrLocales, VERBOSE_DATE_FORMAT_OPTIONS);
|
|
23
|
+
} else {
|
|
24
|
+
this.formatter = new FallbackDateFormatter();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
_createClass(FullDateFormatter, [{
|
|
28
|
+
key: "format",
|
|
29
|
+
value: function format(dateOrTimestamp) {
|
|
30
|
+
return this.formatter.format(getDate(dateOrTimestamp));
|
|
31
|
+
}
|
|
32
|
+
}]);
|
|
33
|
+
return FullDateFormatter;
|
|
34
|
+
}();
|
|
35
|
+
export { FullDateFormatter as default };
|
|
36
|
+
export var FallbackDateFormatter = /*#__PURE__*/function () {
|
|
37
|
+
function FallbackDateFormatter() {
|
|
38
|
+
_classCallCheck(this, FallbackDateFormatter);
|
|
39
|
+
}
|
|
40
|
+
_createClass(FallbackDateFormatter, [{
|
|
41
|
+
key: "format",
|
|
42
|
+
value: function format(date) {
|
|
43
|
+
return String(date);
|
|
44
|
+
}
|
|
45
|
+
}]);
|
|
46
|
+
return FallbackDateFormatter;
|
|
47
|
+
}();
|
|
48
|
+
function getDate(dateOrTimestamp) {
|
|
49
|
+
if (typeof dateOrTimestamp === 'number') {
|
|
50
|
+
return new Date(dateOrTimestamp);
|
|
51
|
+
}
|
|
52
|
+
return dateOrTimestamp;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// `Intl.DateTimeFormat` options for outputting a verbose date.
|
|
56
|
+
// Formatted date example: "Thursday, December 20, 2012, 7:00:00 AM GMT+4"
|
|
57
|
+
var VERBOSE_DATE_FORMAT_OPTIONS = {
|
|
58
|
+
weekday: 'long',
|
|
59
|
+
day: 'numeric',
|
|
60
|
+
month: 'long',
|
|
61
|
+
year: 'numeric',
|
|
62
|
+
hour: 'numeric',
|
|
63
|
+
minute: '2-digit',
|
|
64
|
+
second: '2-digit'
|
|
65
|
+
// timeZoneName: 'short'
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=FullDateFormatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FullDateFormatter.js","names":["FullDateFormatter","localeOrLocales","_classCallCheck","isIntlAvailable","Intl","_typeof","isIntlDateTimeFormatAvailable","DateTimeFormat","formatter","VERBOSE_DATE_FORMAT_OPTIONS","FallbackDateFormatter","_createClass","key","value","format","dateOrTimestamp","getDate","default","date","String","Date","weekday","day","month","year","hour","minute","second"],"sources":["../source/FullDateFormatter.js"],"sourcesContent":["export default class FullDateFormatter {\r\n\tconstructor(localeOrLocales) {\r\n\t\t// See if `Intl.DateTimeFormat` is supported in the current environment.\r\n\t\t//\r\n\t\t// `Intl` is present in all modern web browsers and is only absent from some of the ancient ones.\r\n\t\t//\r\n\t\t// Babel transforms `typeof` into some \"branches\"\r\n\t\t// so istanbul will show this as \"branch not covered\".\r\n\t\t/* istanbul ignore next */\r\n\t\tconst isIntlAvailable = typeof Intl === 'object'\r\n\t\tconst isIntlDateTimeFormatAvailable = isIntlAvailable && typeof Intl.DateTimeFormat === 'function'\r\n\r\n\t\t/* istanbul ignore else */\r\n\t\tif (isIntlDateTimeFormatAvailable) {\r\n\t\t\tthis.formatter = new Intl.DateTimeFormat(localeOrLocales, VERBOSE_DATE_FORMAT_OPTIONS)\r\n\t\t} else {\r\n\t\t\tthis.formatter = new FallbackDateFormatter()\r\n\t\t}\r\n\t}\r\n\r\n\tformat(dateOrTimestamp) {\r\n\t\treturn this.formatter.format(getDate(dateOrTimestamp))\r\n\t}\r\n}\r\n\r\nexport class FallbackDateFormatter {\r\n\tformat(date) {\r\n\t\treturn String(date)\r\n\t}\r\n}\r\n\r\nfunction getDate(dateOrTimestamp) {\r\n\tif (typeof dateOrTimestamp === 'number') {\r\n\t\treturn new Date(dateOrTimestamp)\r\n\t}\r\n\treturn dateOrTimestamp\r\n}\r\n\r\n// `Intl.DateTimeFormat` options for outputting a verbose date.\r\n// Formatted date example: \"Thursday, December 20, 2012, 7:00:00 AM GMT+4\"\r\nconst VERBOSE_DATE_FORMAT_OPTIONS = {\r\n\tweekday: 'long',\r\n\tday: 'numeric',\r\n\tmonth: 'long',\r\n\tyear: 'numeric',\r\n\thour: 'numeric',\r\n\tminute: '2-digit',\r\n\tsecond: '2-digit'\r\n\t// timeZoneName: 'short'\r\n}"],"mappings":";;;;;;IAAqBA,iBAAiB;EACrC,SAAAA,kBAAYC,eAAe,EAAE;IAAAC,eAAA,OAAAF,iBAAA;IAC5B;IACA;IACA;IACA;IACA;IACA;IACA;IACA,IAAMG,eAAe,GAAG,QAAOC,IAAI,iCAAAC,OAAA,CAAJD,IAAI,OAAK,QAAQ;IAChD,IAAME,6BAA6B,GAAGH,eAAe,IAAI,OAAOC,IAAI,CAACG,cAAc,KAAK,UAAU;;IAElG;IACA,IAAID,6BAA6B,EAAE;MAClC,IAAI,CAACE,SAAS,GAAG,IAAIJ,IAAI,CAACG,cAAc,CAACN,eAAe,EAAEQ,2BAA2B,CAAC;IACvF,CAAC,MAAM;MACN,IAAI,CAACD,SAAS,GAAG,IAAIE,qBAAqB,CAAC,CAAC;IAC7C;EACD;EAACC,YAAA,CAAAX,iBAAA;IAAAY,GAAA;IAAAC,KAAA,EAED,SAAAC,OAAOC,eAAe,EAAE;MACvB,OAAO,IAAI,CAACP,SAAS,CAACM,MAAM,CAACE,OAAO,CAACD,eAAe,CAAC,CAAC;IACvD;EAAC;EAAA,OAAAf,iBAAA;AAAA;AAAA,SAtBmBA,iBAAiB,IAAAiB,OAAA;AAyBtC,WAAaP,qBAAqB;EAAA,SAAAA,sBAAA;IAAAR,eAAA,OAAAQ,qBAAA;EAAA;EAAAC,YAAA,CAAAD,qBAAA;IAAAE,GAAA;IAAAC,KAAA,EACjC,SAAAC,OAAOI,IAAI,EAAE;MACZ,OAAOC,MAAM,CAACD,IAAI,CAAC;IACpB;EAAC;EAAA,OAAAR,qBAAA;AAAA;AAGF,SAASM,OAAOA,CAACD,eAAe,EAAE;EACjC,IAAI,OAAOA,eAAe,KAAK,QAAQ,EAAE;IACxC,OAAO,IAAIK,IAAI,CAACL,eAAe,CAAC;EACjC;EACA,OAAOA,eAAe;AACvB;;AAEA;AACA;AACA,IAAMN,2BAA2B,GAAG;EACnCY,OAAO,EAAE,MAAM;EACfC,GAAG,EAAE,SAAS;EACdC,KAAK,EAAE,MAAM;EACbC,IAAI,EAAE,SAAS;EACfC,IAAI,EAAE,SAAS;EACfC,MAAM,EAAE,SAAS;EACjBC,MAAM,EAAE;EACR;AACD,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import FullDateFormatter, { FallbackDateFormatter } from './FullDateFormatter.js';
|
|
2
|
+
describe('FullDateFormatter', function () {
|
|
3
|
+
it('should format full date', function () {
|
|
4
|
+
var formatter = new FullDateFormatter('en');
|
|
5
|
+
expect(formatter.format(new Date(Date.UTC(2000, 0, 1)))).to.equal('Saturday, January 1, 2000 at 3:00:00 AM');
|
|
6
|
+
});
|
|
7
|
+
it('should format full date (`locales` argument)', function () {
|
|
8
|
+
var formatter = new FullDateFormatter(['en', 'ru']);
|
|
9
|
+
expect(formatter.format(new Date(Date.UTC(2000, 0, 1)))).to.equal('Saturday, January 1, 2000 at 3:00:00 AM');
|
|
10
|
+
});
|
|
11
|
+
it('should format full date (timestamp)', function () {
|
|
12
|
+
var formatter = new FullDateFormatter('en');
|
|
13
|
+
expect(formatter.format(Date.UTC(2000, 0, 1))).to.equal('Saturday, January 1, 2000 at 3:00:00 AM');
|
|
14
|
+
});
|
|
15
|
+
it('should fallback to non-`Intl` formatter', function () {
|
|
16
|
+
var formatter = new FallbackDateFormatter('en');
|
|
17
|
+
// The output depends on the user's time zone.
|
|
18
|
+
// Example when running in Moscow: "Sat Jan 01 2000 03:00:00 GMT+0300 (Moscow Standard Time)".
|
|
19
|
+
expect(formatter.format(new Date(Date.UTC(2000, 1, 1)))).to.include(':00:00 GMT');
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
//# sourceMappingURL=FullDateFormatter.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FullDateFormatter.test.js","names":["FullDateFormatter","FallbackDateFormatter","describe","it","formatter","expect","format","Date","UTC","to","equal","include"],"sources":["../source/FullDateFormatter.test.js"],"sourcesContent":["import FullDateFormatter, { FallbackDateFormatter } from './FullDateFormatter.js'\r\n\r\ndescribe('FullDateFormatter', () => {\r\n\tit('should format full date', () => {\r\n\t\tconst formatter = new FullDateFormatter('en')\r\n\t\texpect(\r\n\t\t\tformatter.format(new Date(Date.UTC(2000, 0, 1)))\r\n\t\t).to.equal('Saturday, January 1, 2000 at 3:00:00 AM')\r\n\t})\r\n\r\n\tit('should format full date (`locales` argument)', () => {\r\n\t\tconst formatter = new FullDateFormatter(['en', 'ru'])\r\n\t\texpect(\r\n\t\t\tformatter.format(new Date(Date.UTC(2000, 0, 1)))\r\n\t\t).to.equal('Saturday, January 1, 2000 at 3:00:00 AM')\r\n\t})\r\n\r\n\tit('should format full date (timestamp)', () => {\r\n\t\tconst formatter = new FullDateFormatter('en')\r\n\t\texpect(\r\n\t\t\tformatter.format(Date.UTC(2000, 0, 1))\r\n\t\t).to.equal('Saturday, January 1, 2000 at 3:00:00 AM')\r\n\t})\r\n\r\n\tit('should fallback to non-`Intl` formatter', () => {\r\n\t\tconst formatter = new FallbackDateFormatter('en')\r\n\t\t// The output depends on the user's time zone.\r\n\t\t// Example when running in Moscow: \"Sat Jan 01 2000 03:00:00 GMT+0300 (Moscow Standard Time)\".\r\n\t\texpect(\r\n\t\t\tformatter.format(new Date(Date.UTC(2000, 1, 1)))\r\n\t\t).to.include(':00:00 GMT')\r\n\t})\r\n})"],"mappings":"AAAA,OAAOA,iBAAiB,IAAIC,qBAAqB,QAAQ,wBAAwB;AAEjFC,QAAQ,CAAC,mBAAmB,EAAE,YAAM;EACnCC,EAAE,CAAC,yBAAyB,EAAE,YAAM;IACnC,IAAMC,SAAS,GAAG,IAAIJ,iBAAiB,CAAC,IAAI,CAAC;IAC7CK,MAAM,CACLD,SAAS,CAACE,MAAM,CAAC,IAAIC,IAAI,CAACA,IAAI,CAACC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAChD,CAAC,CAACC,EAAE,CAACC,KAAK,CAAC,yCAAyC,CAAC;EACtD,CAAC,CAAC;EAEFP,EAAE,CAAC,8CAA8C,EAAE,YAAM;IACxD,IAAMC,SAAS,GAAG,IAAIJ,iBAAiB,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACrDK,MAAM,CACLD,SAAS,CAACE,MAAM,CAAC,IAAIC,IAAI,CAACA,IAAI,CAACC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAChD,CAAC,CAACC,EAAE,CAACC,KAAK,CAAC,yCAAyC,CAAC;EACtD,CAAC,CAAC;EAEFP,EAAE,CAAC,qCAAqC,EAAE,YAAM;IAC/C,IAAMC,SAAS,GAAG,IAAIJ,iBAAiB,CAAC,IAAI,CAAC;IAC7CK,MAAM,CACLD,SAAS,CAACE,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CACtC,CAAC,CAACC,EAAE,CAACC,KAAK,CAAC,yCAAyC,CAAC;EACtD,CAAC,CAAC;EAEFP,EAAE,CAAC,yCAAyC,EAAE,YAAM;IACnD,IAAMC,SAAS,GAAG,IAAIH,qBAAqB,CAAC,IAAI,CAAC;IACjD;IACA;IACAI,MAAM,CACLD,SAAS,CAACE,MAAM,CAAC,IAAIC,IAAI,CAACA,IAAI,CAACC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAChD,CAAC,CAACC,EAAE,CAACE,OAAO,CAAC,YAAY,CAAC;EAC3B,CAAC,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
|