Skip to content

Commit

Permalink
Merge pull request #6055 from qzoke:develop
Browse files Browse the repository at this point in the history
[misc] Refactoring & Cleanup - aliases and priorities in src/lib/units/
  • Loading branch information
ichernev committed Dec 16, 2023
2 parents 386b57b + fcf8e4e commit d6d5df7
Show file tree
Hide file tree
Showing 14 changed files with 68 additions and 133 deletions.
56 changes: 50 additions & 6 deletions src/lib/units/aliases.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,55 @@
import hasOwnProp from '../utils/has-own-prop';

var aliases = {};

export function addUnitAlias(unit, shorthand) {
var lowerCase = unit.toLowerCase();
aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;
}
var aliases = {
D: 'date',
dates: 'date',
date: 'date',
d: 'day',
days: 'day',
day: 'day',
e: 'weekday',
weekdays: 'weekday',
weekday: 'weekday',
E: 'isoWeekday',
isoweekdays: 'isoWeekday',
isoweekday: 'isoWeekday',
DDD: 'dayOfYear',
dayofyears: 'dayOfYear',
dayofyear: 'dayOfYear',
h: 'hour',
hours: 'hour',
hour: 'hour',
ms: 'millisecond',
milliseconds: 'millisecond',
millisecond: 'millisecond',
m: 'minute',
minutes: 'minute',
minute: 'minute',
M: 'month',
months: 'month',
month: 'month',
Q: 'quarter',
quarters: 'quarter',
quarter: 'quarter',
s: 'second',
seconds: 'second',
second: 'second',
gg: 'weekYear',
weekyears: 'weekYear',
weekyear: 'weekYear',
GG: 'isoWeekYear',
isoweekyears: 'isoWeekYear',
isoweekyear: 'isoWeekYear',
w: 'week',
weeks: 'week',
week: 'week',
W: 'isoWeek',
isoweeks: 'isoWeek',
isoweek: 'isoWeek',
y: 'year',
years: 'year',
year: 'year',
};

export function normalizeUnits(units) {
return typeof units === 'string'
Expand Down
9 changes: 0 additions & 9 deletions src/lib/units/day-of-month.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
import { makeGetSet } from '../moment/get-set';
import { addFormatToken } from '../format/format';
import { addUnitAlias } from './aliases';
import { addUnitPriority } from './priorities';
import { addRegexToken, match1to2, match2 } from '../parse/regex';
import { addParseToken } from '../parse/token';
import { DATE } from './constants';
Expand All @@ -11,13 +9,6 @@ import toInt from '../utils/to-int';

addFormatToken('D', ['DD', 2], 'Do', 'date');

// ALIASES

addUnitAlias('date', 'D');

// PRIORITY
addUnitPriority('date', 9);

// PARSING

addRegexToken('D', match1to2);
Expand Down
13 changes: 0 additions & 13 deletions src/lib/units/day-of-week.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
import { addFormatToken } from '../format/format';
import { addUnitAlias } from './aliases';
import { addUnitPriority } from './priorities';
import {
addRegexToken,
match1to2,
Expand Down Expand Up @@ -34,17 +32,6 @@ addFormatToken('dddd', 0, 0, function (format) {
addFormatToken('e', 0, 0, 'weekday');
addFormatToken('E', 0, 0, 'isoWeekday');

// ALIASES

addUnitAlias('day', 'd');
addUnitAlias('weekday', 'e');
addUnitAlias('isoWeekday', 'E');

// PRIORITY
addUnitPriority('day', 11);
addUnitPriority('weekday', 11);
addUnitPriority('isoWeekday', 11);

// PARSING

addRegexToken('d', match1to2);
Expand Down
9 changes: 0 additions & 9 deletions src/lib/units/day-of-year.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
import { addFormatToken } from '../format/format';
import { addUnitAlias } from './aliases';
import { addUnitPriority } from './priorities';
import { addRegexToken, match3, match1to3 } from '../parse/regex';
import { addParseToken } from '../parse/token';
import toInt from '../utils/to-int';
Expand All @@ -9,13 +7,6 @@ import toInt from '../utils/to-int';

addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');

// ALIASES

addUnitAlias('dayOfYear', 'DDD');

// PRIORITY
addUnitPriority('dayOfYear', 4);

// PARSING

addRegexToken('DDD', match1to3);
Expand Down
9 changes: 0 additions & 9 deletions src/lib/units/hour.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
import { makeGetSet } from '../moment/get-set';
import { addFormatToken } from '../format/format';
import { addUnitAlias } from './aliases';
import { addUnitPriority } from './priorities';
import {
addRegexToken,
match1to2,
Expand Down Expand Up @@ -68,13 +66,6 @@ function meridiem(token, lowercase) {
meridiem('a', true);
meridiem('A', false);

// ALIASES

addUnitAlias('hour', 'h');

// PRIORITY
addUnitPriority('hour', 13);

// PARSING

function matchMeridiem(isStrict, locale) {
Expand Down
10 changes: 0 additions & 10 deletions src/lib/units/millisecond.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
import { makeGetSet } from '../moment/get-set';
import { addFormatToken } from '../format/format';
import { addUnitAlias } from './aliases';
import { addUnitPriority } from './priorities';
import {
addRegexToken,
match1,
Expand Down Expand Up @@ -44,14 +42,6 @@ addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {
return this.millisecond() * 1000000;
});

// ALIASES

addUnitAlias('millisecond', 'ms');

// PRIORITY

addUnitPriority('millisecond', 16);

// PARSING

addRegexToken('S', match1to3, match1);
Expand Down
10 changes: 0 additions & 10 deletions src/lib/units/minute.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
import { makeGetSet } from '../moment/get-set';
import { addFormatToken } from '../format/format';
import { addUnitAlias } from './aliases';
import { addUnitPriority } from './priorities';
import { addRegexToken, match1to2, match2 } from '../parse/regex';
import { addParseToken } from '../parse/token';
import { MINUTE } from './constants';
Expand All @@ -10,14 +8,6 @@ import { MINUTE } from './constants';

addFormatToken('m', ['mm', 2], 0, 'minute');

// ALIASES

addUnitAlias('minute', 'm');

// PRIORITY

addUnitPriority('minute', 14);

// PARSING

addRegexToken('m', match1to2);
Expand Down
10 changes: 0 additions & 10 deletions src/lib/units/month.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
import { get } from '../moment/get-set';
import hasOwnProp from '../utils/has-own-prop';
import { addFormatToken } from '../format/format';
import { addUnitAlias } from './aliases';
import { addUnitPriority } from './priorities';
import {
addRegexToken,
match1to2,
Expand Down Expand Up @@ -49,14 +47,6 @@ addFormatToken('MMMM', 0, 0, function (format) {
return this.localeData().months(this, format);
});

// ALIASES

addUnitAlias('month', 'M');

// PRIORITY

addUnitPriority('month', 8);

// PARSING

addRegexToken('M', match1to2);
Expand Down
23 changes: 18 additions & 5 deletions src/lib/units/priorities.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,23 @@
import hasOwnProp from '../utils/has-own-prop';

var priorities = {};

export function addUnitPriority(unit, priority) {
priorities[unit] = priority;
}
var priorities = {
date: 9,
day: 11,
weekday: 11,
isoWeekday: 11,
dayOfYear: 4,
hour: 13,
millisecond: 16,
minute: 14,
month: 8,
quarter: 7,
second: 15,
weekYear: 1,
isoWeekYear: 1,
week: 5,
isoWeek: 5,
year: 1,
};

export function getPrioritizedUnits(unitsObj) {
var units = [],
Expand Down
10 changes: 0 additions & 10 deletions src/lib/units/quarter.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
import { addFormatToken } from '../format/format';
import { addUnitAlias } from './aliases';
import { addUnitPriority } from './priorities';
import { addRegexToken, match1 } from '../parse/regex';
import { addParseToken } from '../parse/token';
import { MONTH } from './constants';
Expand All @@ -10,14 +8,6 @@ import toInt from '../utils/to-int';

addFormatToken('Q', 0, 'Qo', 'quarter');

// ALIASES

addUnitAlias('quarter', 'Q');

// PRIORITY

addUnitPriority('quarter', 7);

// PARSING

addRegexToken('Q', match1);
Expand Down
10 changes: 0 additions & 10 deletions src/lib/units/second.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
import { makeGetSet } from '../moment/get-set';
import { addFormatToken } from '../format/format';
import { addUnitAlias } from './aliases';
import { addUnitPriority } from './priorities';
import { addRegexToken, match1to2, match2 } from '../parse/regex';
import { addParseToken } from '../parse/token';
import { SECOND } from './constants';
Expand All @@ -10,14 +8,6 @@ import { SECOND } from './constants';

addFormatToken('s', ['ss', 2], 0, 'second');

// ALIASES

addUnitAlias('second', 's');

// PRIORITY

addUnitPriority('second', 15);

// PARSING

addRegexToken('s', match1to2);
Expand Down
10 changes: 0 additions & 10 deletions src/lib/units/week-year.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
import { addFormatToken } from '../format/format';
import { addUnitAlias } from './aliases';
import { addUnitPriority } from './priorities';
import {
addRegexToken,
match1to2,
Expand Down Expand Up @@ -42,14 +40,6 @@ addWeekYearFormatToken('GGGGG', 'isoWeekYear');

// ALIASES

addUnitAlias('weekYear', 'gg');
addUnitAlias('isoWeekYear', 'GG');

// PRIORITY

addUnitPriority('weekYear', 1);
addUnitPriority('isoWeekYear', 1);

// PARSING

addRegexToken('G', matchSigned);
Expand Down
12 changes: 0 additions & 12 deletions src/lib/units/week.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
import { addFormatToken } from '../format/format';
import { addUnitAlias } from './aliases';
import { addUnitPriority } from './priorities';
import { addRegexToken, match1to2, match2 } from '../parse/regex';
import { addWeekParseToken } from '../parse/token';
import toInt from '../utils/to-int';
Expand All @@ -11,16 +9,6 @@ import { weekOfYear } from './week-calendar-utils';
addFormatToken('w', ['ww', 2], 'wo', 'week');
addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');

// ALIASES

addUnitAlias('week', 'w');
addUnitAlias('isoWeek', 'W');

// PRIORITIES

addUnitPriority('week', 5);
addUnitPriority('isoWeek', 5);

// PARSING

addRegexToken('w', match1to2);
Expand Down
10 changes: 0 additions & 10 deletions src/lib/units/year.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
import { makeGetSet } from '../moment/get-set';
import { addFormatToken } from '../format/format';
import { addUnitAlias } from './aliases';
import { addUnitPriority } from './priorities';
import {
addRegexToken,
match1to2,
Expand Down Expand Up @@ -34,14 +32,6 @@ addFormatToken(0, ['YYYY', 4], 0, 'year');
addFormatToken(0, ['YYYYY', 5], 0, 'year');
addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');

// ALIASES

addUnitAlias('year', 'y');

// PRIORITIES

addUnitPriority('year', 1);

// PARSING

addRegexToken('Y', matchSigned);
Expand Down

0 comments on commit d6d5df7

Please sign in to comment.