From 2b3d9f5bf139ce9283bf0506f56bf871eb927352 Mon Sep 17 00:00:00 2001 From: Kien Pham Date: Tue, 21 Mar 2017 13:00:47 -0700 Subject: [PATCH] compute monthDiff only for the type that needs it --- src/lib/moment/diff.js | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/src/lib/moment/diff.js b/src/lib/moment/diff.js index 961cec8ad..85254dfc6 100644 --- a/src/lib/moment/diff.js +++ b/src/lib/moment/diff.js @@ -21,19 +21,16 @@ export function diff (input, units, asFloat) { units = normalizeUnits(units); - output = monthDiff(this, that); - delta = this - that; - switch (units) { - case 'year': output = output / 12; break; - case 'month': break; - case 'quarter': output = output / 3; break; - case 'second': output = delta / 1e3; break; // 1000 - case 'minute': output = delta / 6e4; break; // 1000 * 60 - case 'hour': output = delta / 36e5; break; // 1000 * 60 * 60 - case 'day': output = (delta - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst - case 'week': output = (delta - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst - default: output = delta; + case 'year': output = monthDiff(this, that) / 12; break; + case 'month': output = monthDiff(this, that); break; + case 'quarter': output = monthDiff(this, that) / 3; break; + case 'second': output = (this - that) / 1e3; break; // 1000 + case 'minute': output = (this - that) / 6e4; break; // 1000 * 60 + case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60 + case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst + case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst + default: output = this - that; } return asFloat ? output : absFloor(output); -- 2.47.2