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":"getTimeToNextUpdate.js","names":["_getTimeToNextUpdateForUnit","getStepMinTime","getRoundFunction","YEAR","INFINITY","getTimeToNextUpdate","date","step","_ref","prevStep","nextStep","now","future","round","timestamp","getTime","getTimeToNextUpdateForUnit","unit","timeToStepChange","getTimeToStepChange","undefined","timeToNextUpdate","formatAs","Math","min","getStepChangesAt","currentOrNextStep","_ref2","minTime","_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 *
|
|
1
|
+
{"version":3,"file":"getTimeToNextUpdate.js","names":["_getTimeToNextUpdateForUnit","getStepMinTime","getRoundFunction","YEAR","INFINITY","getTimeToNextUpdate","date","step","_ref","prevStep","nextStep","now","future","round","timestamp","getTime","getTimeToNextUpdateForUnit","unit","timeToStepChange","getTimeToStepChange","undefined","timeToNextUpdate","formatAs","Math","min","getStepChangesAt","currentOrNextStep","_ref2","minTime","_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\n// It can't really return `Infinity` in order to not screw any potential calculations performed with it.\r\n// Hence, it emulates `Infinity` with a really large number that is \"practically infinite\".\r\nexport const INFINITY = 1000 * YEAR\r\n\r\n/**\r\n * Returns the time (in milliseconds) after which the formatted date label should be refreshed.\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] Returns the time to next update. Returns `undefined` when it can't determine time to next update. That could only happen when the \"style\" doesn't meet the minimum requirements for `getTimeToNextUpdate: true` feature (see README).\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\t// If the \"style\" doesn't meet the minimum requirements for `getTimeToNextUpdate: true` feature (see README)\r\n\t// then `timeToStepChange` will be `undefined`. In that case, just return `undefined`.\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\n// Returns the timestamp at which it'll move to the next step.\r\n// Returns `undefined` when it can't determine when it'll move to the next stemp. That could only happen when the \"style\" doesn't meet the minimum requirements for `getTimeToNextUpdate: true` feature (see README).\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":"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","ignoreList":[]}
|
package/modules/style/twitter.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getDate } from '../steps/index.js';
|
|
2
2
|
import { intlDateTimeFormatSupported } from '../locale.js';
|
|
3
3
|
|
|
4
|
-
// For compatibility with the old versions of this library.
|
|
5
|
-
import renameLegacyProperties from './renameLegacyProperties.js'
|
|
4
|
+
// // For compatibility with the old versions of this library.
|
|
5
|
+
// import renameLegacyProperties from './renameLegacyProperties.js'
|
|
6
6
|
|
|
7
7
|
// Twitter-style relative date/time formatting.
|
|
8
8
|
// ("1m", "2h", "Mar 3", "Apr 4, 2012").
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"twitter.js","names":["
|
|
1
|
+
{"version":3,"file":"twitter.js","names":["getDate","intlDateTimeFormatSupported","steps","formatAs","formatters","monthAndDay","minTime","timestamp","_ref","future","getMinTimeForUnit","format","value","locale","dayMonth","Intl","DateTimeFormat","month","day","yearMonthAndDay","_ref2","maxFittingNow","Date","getFullYear","getTime","minFittingNow","dayMonthYear","year","push","labels"],"sources":["../../source/style/twitter.js"],"sourcesContent":["import { getDate } from '../steps/index.js'\r\nimport { intlDateTimeFormatSupported } from '../locale.js'\r\n\r\n// // For compatibility with the old versions of this library.\r\n// import renameLegacyProperties from './renameLegacyProperties.js'\r\n\r\n// Twitter-style relative date/time formatting.\r\n// (\"1m\", \"2h\", \"Mar 3\", \"Apr 4, 2012\").\r\n//\r\n// Seconds, minutes or hours are shown for shorter intervals,\r\n// and longer intervals are formatted using full date format.\r\n\r\nconst steps = [\r\n\t{\r\n\t\tformatAs: 'second'\r\n\t},\r\n\t{\r\n\t\tformatAs: 'minute'\r\n\t},\r\n\t{\r\n\t\tformatAs: 'hour'\r\n\t}\r\n]\r\n\r\n// A cache for `Intl.DateTimeFormat` formatters\r\n// for various locales (is a global variable).\r\nconst formatters = {}\r\n\r\n// Starting from day intervals, output month and day.\r\nconst monthAndDay = {\r\n\tminTime(timestamp, { future, getMinTimeForUnit }) {\r\n\t\t// Returns `23.5 * 60 * 60` when `round` is \"round\",\r\n\t\t// and `24 * 60 * 60` when `round` is \"floor\".\r\n\t\treturn getMinTimeForUnit('day')\r\n\t},\r\n\tformat(value, locale) {\r\n\t\t/* istanbul ignore else */\r\n\t\tif (!formatters[locale]) {\r\n\t\t\tformatters[locale] = {}\r\n\t\t}\r\n\t\t/* istanbul ignore else */\r\n\t\tif (!formatters[locale].dayMonth) {\r\n\t\t\t// \"Apr 11\" (MMMd)\r\n\t\t\tformatters[locale].dayMonth = new Intl.DateTimeFormat(locale, {\r\n\t\t\t\tmonth: 'short',\r\n\t\t\t\tday: 'numeric'\r\n\t\t\t})\r\n\t\t}\r\n\t\t// Output month and day.\r\n\t\treturn formatters[locale].dayMonth.format(getDate(value))\r\n\t}\r\n}\r\n\r\n// If the `date` happened/happens outside of current year,\r\n// then output day, month and year.\r\n// The interval should be such that the `date` lies outside of the current year.\r\nconst yearMonthAndDay = {\r\n\tminTime(timestamp, { future }) {\r\n\t\tif (future) {\r\n\t\t\t// January 1, 00:00, of the `date`'s year is right after\r\n\t\t\t// the maximum `now` for formatting a future date:\r\n\t\t\t// When `now` is before that date, the `date` is formatted as \"day/month/year\" (this step),\r\n\t\t\t// When `now` is equal to or after that date, the `date` is formatted as \"day/month\" (another step).\r\n\t\t\t// After that, it's hours, minutes, seconds, and after that it's no longer `future`.\r\n\t\t\t// The date is right after the maximum `now` for formatting a future date,\r\n\t\t\t// so subtract 1 millisecond from it.\r\n\t\t\tconst maxFittingNow = new Date(new Date(timestamp).getFullYear(), 0).getTime() - 1\r\n\t\t\t// Return `minTime` (in seconds).\r\n\t\t\treturn (timestamp - maxFittingNow) / 1000\r\n\t\t} else {\r\n\t\t\t// January 1, 00:00, of the year following the `date`'s year\r\n\t\t\t// is the minimum `now` for formatting a past date:\r\n\t\t\t// When `now` is before that date, the `date` is formatted as \"day/month\" (another step),\r\n\t\t\t// When `now` is equal to or after that date, the `date` is formatted as \"day/month/year\" (this step).\r\n\t\t\t// After that, it's hours, minutes, seconds, and after that it's no longer `future`.\r\n\t\t\tconst minFittingNow = new Date(new Date(timestamp).getFullYear() + 1, 0).getTime()\r\n\t\t\t// Return `minTime` (in seconds).\r\n\t\t\treturn (minFittingNow - timestamp) / 1000\r\n\t\t}\r\n\t},\r\n\tformat(value, locale) {\r\n\t\t/* istanbul ignore if */\r\n\t\tif (!formatters[locale]) {\r\n\t\t\tformatters[locale] = {}\r\n\t\t}\r\n\t\t/* istanbul ignore else */\r\n\t\tif (!formatters[locale].dayMonthYear) {\r\n\t\t\t// \"Apr 11, 2017\" (yMMMd)\r\n\t\t\tformatters[locale].dayMonthYear = new Intl.DateTimeFormat(locale, {\r\n\t\t\t\tyear: 'numeric',\r\n\t\t\t\tmonth: 'short',\r\n\t\t\t\tday: 'numeric'\r\n\t\t\t})\r\n\t\t}\r\n\t\t// Output day, month and year.\r\n\t\treturn formatters[locale].dayMonthYear.format(getDate(value))\r\n\t}\r\n}\r\n\r\n// If `Intl.DateTimeFormat` is supported,\r\n// then longer time intervals will be formatted as dates.\r\n/* istanbul ignore else */\r\nif (intlDateTimeFormatSupported()) {\r\n\tsteps.push(monthAndDay, yearMonthAndDay)\r\n}\r\n// Otherwise, if `Intl.DateTimeFormat` is not supported,\r\n// which could be the case when using Internet Explorer,\r\n// then simply mimick \"round\" steps.\r\nelse {\r\n\tsteps.push(\r\n\t\t{\r\n\t\t\tformatAs: 'day'\r\n\t\t},\r\n\t\t{\r\n\t\t\tformatAs: 'week'\r\n\t\t},\r\n\t\t{\r\n\t\t\tformatAs: 'month'\r\n\t\t},\r\n\t\t{\r\n\t\t\tformatAs: 'year'\r\n\t\t}\r\n\t)\r\n}\r\n\r\nexport default {\r\n\tsteps,\r\n\tlabels: [\r\n\t\t// \"mini\" labels are only defined for a few languages.\r\n\t\t'mini',\r\n\t\t// \"short-time\" labels are only defined for a few languages.\r\n\t\t'short-time',\r\n\t\t// \"narrow\" and \"short\" labels are defined for all languages.\r\n\t\t// \"narrow\" labels can sometimes be weird (like \"+5d.\"),\r\n\t\t// but \"short\" labels have the \" ago\" part, so \"narrow\" seem\r\n\t\t// more appropriate.\r\n\t\t// \"short\" labels would have been more appropriate if they\r\n\t\t// didn't have the \" ago\" part, hence the \"short-time\" above.\r\n\t\t'narrow',\r\n\t\t// Since \"narrow\" labels are always present, \"short\" element\r\n\t\t// of this array can be removed.\r\n\t\t'short'\r\n\t]\r\n}"],"mappings":"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","ignoreList":[]}
|
|
@@ -199,7 +199,8 @@ describe('style/twitter', function () {
|
|
|
199
199
|
var now = new Date(2016, 3, 10, 12, 0).getTime();
|
|
200
200
|
timeAgo.format(date, 'twitter', {
|
|
201
201
|
now: now,
|
|
202
|
-
getTimeToNextUpdate: true
|
|
202
|
+
getTimeToNextUpdate: true,
|
|
203
|
+
getTimeToNextUpdateUncapped: true
|
|
203
204
|
}).should.deep.equal(['Apr 10, 2018',
|
|
204
205
|
// Updates on Jan 1st, 2018, 00:00.
|
|
205
206
|
new Date(2018, 0, 1).getTime() - now]);
|
|
@@ -209,6 +210,7 @@ describe('style/twitter', function () {
|
|
|
209
210
|
timeAgo.format(date, 'twitter', {
|
|
210
211
|
now: now,
|
|
211
212
|
getTimeToNextUpdate: true,
|
|
213
|
+
getTimeToNextUpdateUncapped: true,
|
|
212
214
|
round: 'floor'
|
|
213
215
|
}).should.deep.equal(['Apr 10',
|
|
214
216
|
// Updates after April 9th, 2018, 12:00.
|
|
@@ -235,7 +237,8 @@ describe('style/twitter', function () {
|
|
|
235
237
|
now = new Date(2018, 0, 1).getTime();
|
|
236
238
|
timeAgo.format(date, 'twitter', {
|
|
237
239
|
now: now,
|
|
238
|
-
getTimeToNextUpdate: true
|
|
240
|
+
getTimeToNextUpdate: true,
|
|
241
|
+
getTimeToNextUpdateUncapped: true
|
|
239
242
|
}).should.deep.equal(['Apr 10',
|
|
240
243
|
// Updates after April 9th, 2018, 11:30.
|
|
241
244
|
new Date(2018, 3, 9, 12, 0).getTime() + 30 * 60 * 1000 + 1 - now]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"twitter.test.js","names":["twitter","TimeAgo","hour","minute","day","month","year","describe","it","timeAgo","format","Date","now","should","include","formatDatePastBy","secondsPassed","_objectSpread","equal","round","getTime","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","TimeAgo","hour","minute","day","month","year","describe","it","timeAgo","format","Date","now","should","include","formatDatePastBy","secondsPassed","_objectSpread","equal","round","getTime","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":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "javascript-time-ago",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.6.0",
|
|
4
4
|
"description": "Localized relative date/time formatting",
|
|
5
5
|
"main": "index.cjs",
|
|
6
6
|
"module": "index.js",
|
|
@@ -31,6 +31,11 @@
|
|
|
31
31
|
"import": "./prop-types/index.js",
|
|
32
32
|
"require": "./prop-types/index.cjs"
|
|
33
33
|
},
|
|
34
|
+
"./full-date-formatter": {
|
|
35
|
+
"types": "./full-date-formatter/index.d.ts",
|
|
36
|
+
"import": "./full-date-formatter/index.js",
|
|
37
|
+
"require": "./full-date-formatter/index.cjs"
|
|
38
|
+
},
|
|
34
39
|
"./package.json": "./package.json",
|
|
35
40
|
"./locale/af": {
|
|
36
41
|
"import": "./locale/af.json.js",
|
|
@@ -2599,7 +2604,7 @@
|
|
|
2599
2604
|
"./load-all-locales/index.cjs.js"
|
|
2600
2605
|
],
|
|
2601
2606
|
"dependencies": {
|
|
2602
|
-
"relative-time-format": "^1.1.
|
|
2607
|
+
"relative-time-format": "^1.1.11"
|
|
2603
2608
|
},
|
|
2604
2609
|
"devDependencies": {
|
|
2605
2610
|
"@babel/cli": "^7.17.10",
|
|
@@ -2613,17 +2618,17 @@
|
|
|
2613
2618
|
"@babel/preset-env": "^7.17.12",
|
|
2614
2619
|
"@babel/register": "^7.17.7",
|
|
2615
2620
|
"babel-eslint": "^9.0.0",
|
|
2616
|
-
"babel-loader": "^
|
|
2617
|
-
"babel-plugin-istanbul": "^
|
|
2618
|
-
"chai": "^
|
|
2621
|
+
"babel-loader": "^10.0.0",
|
|
2622
|
+
"babel-plugin-istanbul": "^7.0.1",
|
|
2623
|
+
"chai": "^6.0.1",
|
|
2619
2624
|
"cross-env": "^7.0.3",
|
|
2620
2625
|
"fs-extra": "^10.1.0",
|
|
2621
2626
|
"handlebars": "^4.5.3",
|
|
2622
2627
|
"istanbul": "^1.1.0-alpha.1",
|
|
2623
2628
|
"mkdirp": "^1.0.4",
|
|
2624
|
-
"mocha": "^
|
|
2629
|
+
"mocha": "^11.7.2",
|
|
2625
2630
|
"npm-run-all": "^4.1.5",
|
|
2626
|
-
"nyc": "^
|
|
2631
|
+
"nyc": "^17.1.0",
|
|
2627
2632
|
"prop-types": "^15.8.1",
|
|
2628
2633
|
"rimraf": "^3.0.2",
|
|
2629
2634
|
"rollup": "^2.74.0",
|
|
@@ -2632,11 +2637,11 @@
|
|
|
2632
2637
|
"rollup-plugin-terser": "^7.0.2"
|
|
2633
2638
|
},
|
|
2634
2639
|
"scripts": {
|
|
2635
|
-
"test": "node --experimental-json-modules node_modules/mocha/bin/_mocha --bail --require ./test/
|
|
2640
|
+
"test": "node --experimental-json-modules node_modules/mocha/bin/_mocha --bail --require ./test/globals.js --require ./test/addLocales.js \"source/**/*.test.js\" \"test/**/*.test.js\"",
|
|
2636
2641
|
"test-coverage": "npm-run-all build-commonjs build-commonjs-test-coverage-setup test-coverage-commonjs",
|
|
2637
|
-
"test-coverage-commonjs": "node --experimental-json-modules node_modules/istanbul/lib/cli.js cover -x \"*.test.js\" node_modules/mocha/bin/_mocha -- --colors --reporter dot --require ./test/
|
|
2638
|
-
"build-commonjs-test-coverage-setup": "cross-env babel ./test/
|
|
2639
|
-
"test-coverage--does-not-work": "cross-env NODE_ENV=test nyc node --experimental-json-modules node_modules/mocha/bin/_mocha --bail --require ./test/
|
|
2642
|
+
"test-coverage-commonjs": "node --experimental-json-modules node_modules/istanbul/lib/cli.js cover -x \"*.test.js\" node_modules/mocha/bin/_mocha -- --colors --reporter dot --require ./test/globals.js ./commonjs/addLocales.js \"commonjs/**/*.test.js\" --recursive",
|
|
2643
|
+
"build-commonjs-test-coverage-setup": "cross-env babel ./test/addLocales.js ./test/addLabels.test.js --out-dir ./commonjs --source-maps",
|
|
2644
|
+
"test-coverage--does-not-work": "cross-env NODE_ENV=test nyc node --experimental-json-modules node_modules/mocha/bin/_mocha --bail --require ./test/globals.js ./test/addLocales.js \"source/**/*.test.js\" \"test/**/*.test.js\"",
|
|
2640
2645
|
"coveralls": "nyc report --reporter=text-lcov | coveralls",
|
|
2641
2646
|
"browser-build": "rollup --config rollup.config.mjs",
|
|
2642
2647
|
"clean-for-build": "rimraf ./commonjs/**/* ./modules/**/*",
|