Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[misc] refactor unit aliases and priorities #6055

Closed
wants to merge 2 commits into from

Conversation

qzoke
Copy link
Contributor

@qzoke qzoke commented Oct 6, 2022

My mission with this refactoring was to make it more readable and procedural. Not only it reduces 32 function calls, It's all in one place. All aliases in aliases.js file and all priorities in priorities.js file

  1. All the functions which were responsible for creating aliases from following files(comments are file names) have been moved to src/lib/units/aliases.js

// src/lib/units/day-of-month.js
addUnitAlias('date', 'D');
// src/lib/units/day-of-week.js
addUnitAlias('day', 'd');
addUnitAlias('weekday', 'e');
addUnitAlias('isoWeekday', 'E');
// src/lib/units/day-of-year.js
addUnitAlias('dayOfYear', 'DDD');
// src/lib/units/hour.js
addUnitAlias('hour', 'h');
// src/lib/units/millisecond.js
addUnitAlias('millisecond', 'ms');
// src/lib/units/minute.js
addUnitAlias('minute', 'm');
// src/lib/units/month.js
addUnitAlias('month', 'M');
// src/lib/units/quarter.js
addUnitAlias('quarter', 'Q');
// src/lib/units/second.js
addUnitAlias('second', 's');
// src/lib/units/week-year.js
addUnitAlias('weekYear', 'gg');
addUnitAlias('isoWeekYear', 'GG');
// src/lib/units/week.js
addUnitAlias('week', 'w');
addUnitAlias('isoWeek', 'W');
// src/lib/units/year.js
addUnitAlias('year', 'y');

  1. Ran all the functions and final result has been saved as "aliases" object in src/lib/units/aliases.js.

  2. Commented out all the aliases creation functions in src/lib/units/aliases.js as we have final and known Object as a variable.

  3. All the functions which were responsible for creating priorities from following files(comments are file names) have been moved to src/lib/units/priorities.js

// src/lib/units/day-of-month.js
addUnitPriority('date', 9);
// src/lib/units/day-of-week.js
addUnitPriority('day', 11);
addUnitPriority('weekday', 11);
addUnitPriority('isoWeekday', 11);
// src/lib/units/day-of-year.js
addUnitPriority('dayOfYear', 4);
// src/lib/units/hour.js
addUnitPriority('hour', 13);
// src/lib/units/millisecond.js
addUnitPriority('millisecond', 16);
// src/lib/units/minute.js
addUnitPriority('minute', 14);
// src/lib/units/month.js
addUnitPriority('month', 8);
// src/lib/units/quarter.js
addUnitPriority('quarter', 7);
// src/lib/units/second.js
addUnitPriority('second', 15);
// src/lib/units/week-year.js
addUnitPriority('weekYear', 1);
addUnitPriority('isoWeekYear', 1);
// src/lib/units/week.js
addUnitPriority('week', 5);
addUnitPriority('isoWeek', 5);
// src/lib/units/year.js
addUnitPriority('year', 1);

  1. Ran all the functions and final result has been saved as "priorities" object in src/lib/units/priorities.js.

  2. Commented out all the priorities creation functions in src/lib/units/aliases.js as we have final and known Object as a variable.

My mission with this refactoring was to make it more readable and procedural. Not only it reduces 32 function calls, It's all in one place. All aliases in aliases.js file and all priorities in priorities.js file

1. All the functions which were responsible for creating aliases from following files(comments are file names) have been moved to src/lib/units/aliases.js

// src/lib/units/day-of-month.js
addUnitAlias('date', 'D');
// src/lib/units/day-of-week.js
addUnitAlias('day', 'd');
addUnitAlias('weekday', 'e');
addUnitAlias('isoWeekday', 'E');
// src/lib/units/day-of-year.js
addUnitAlias('dayOfYear', 'DDD');
// src/lib/units/hour.js
addUnitAlias('hour', 'h');
// src/lib/units/millisecond.js
addUnitAlias('millisecond', 'ms');
// src/lib/units/minute.js
addUnitAlias('minute', 'm');
// src/lib/units/month.js
addUnitAlias('month', 'M');
// src/lib/units/quarter.js
addUnitAlias('quarter', 'Q');
// src/lib/units/second.js
addUnitAlias('second', 's');
// src/lib/units/week-year.js
addUnitAlias('weekYear', 'gg');
addUnitAlias('isoWeekYear', 'GG');
// src/lib/units/week.js
addUnitAlias('week', 'w');
addUnitAlias('isoWeek', 'W');
// src/lib/units/year.js
addUnitAlias('year', 'y');

2. Ran all the functions and final result has been saved as "aliases" object in  src/lib/units/aliases.js.

3. Commented out all the aliases creation functions in src/lib/units/aliases.js as we have final and known Object as a variable.

4. All the functions which were responsible for creating priorities from following files(comments are file names) have been moved to src/lib/units/priorities.js

// src/lib/units/day-of-month.js
addUnitPriority('date', 9);
// src/lib/units/day-of-week.js
addUnitPriority('day', 11);
addUnitPriority('weekday', 11);
addUnitPriority('isoWeekday', 11);
// src/lib/units/day-of-year.js
addUnitPriority('dayOfYear', 4);
// src/lib/units/hour.js
addUnitPriority('hour', 13);
// src/lib/units/millisecond.js
addUnitPriority('millisecond', 16);
// src/lib/units/minute.js
addUnitPriority('minute', 14);
// src/lib/units/month.js
addUnitPriority('month', 8);
// src/lib/units/quarter.js
addUnitPriority('quarter', 7);
// src/lib/units/second.js
addUnitPriority('second', 15);
// src/lib/units/week-year.js
addUnitPriority('weekYear', 1);
addUnitPriority('isoWeekYear', 1);
// src/lib/units/week.js
addUnitPriority('week', 5);
addUnitPriority('isoWeek', 5);
// src/lib/units/year.js
addUnitPriority('year', 1);

5. Ran all the functions and final result has been saved as "priorities" object in  src/lib/units/priorities.js.

6. Commented out all the priorities creation functions in src/lib/units/aliases.js as we have final and known Object as a variable.
@linux-foundation-easycla
Copy link

linux-foundation-easycla bot commented Oct 6, 2022

CLA Signed

The committers listed above are authorized under a signed CLA.

  • ✅ login: qzoke / name: Nirpendra Patel (63c28d4)

//week.js
addUnitPriority('week', 5);
addUnitPriority('isoWeek', 5);
//year.js
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we remove these commented codes ?

//second.js
addUnitAlias('second', 's');
//week-year.js
addUnitAlias('weekYear', 'gg');
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we remove these commented line of codes ?

@qzoke
Copy link
Contributor Author

qzoke commented Feb 22, 2023

@anandfresh Helllo sir,
Sorry for late reply. I didn't knew that you are a moderator.

I removed comments as requested..

@ichernev ichernev changed the title Refactoring & Cleanup - aliases and priorities in src/lib/units/ [misc] Refactoring & Cleanup - aliases and priorities in src/lib/units/ Dec 16, 2023
ichernev added a commit that referenced this pull request Dec 16, 2023
[misc] Refactoring & Cleanup - aliases and priorities in src/lib/units/
@ichernev
Copy link
Contributor

Merge in d6d5df7

@ichernev ichernev closed this Dec 16, 2023
@ichernev ichernev changed the title [misc] Refactoring & Cleanup - aliases and priorities in src/lib/units/ [misc] refactor unit aliases and priorities Dec 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants