Skip to content
This repository has been archived by the owner on Jan 18, 2024. It is now read-only.

Commit

Permalink
Change name of add and subtract methods.
Browse files Browse the repository at this point in the history
All methods use `week days` terminology instead of `work days`.
  • Loading branch information
jamesplease committed Feb 16, 2015
1 parent bb63b59 commit 24ba5c3
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 40 deletions.
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
[![Dependency Status](https://david-dm.org/jmeas/moment-business.svg)](https://david-dm.org/jmeas/moment-business)
[![devDependency Status](https://david-dm.org/jmeas/moment-business/dev-status.svg)](https://david-dm.org/jmeas/moment-business#info=devDependencies)

Utilities for working with week days and work days in Moment. It assumes a Western workweek, wherein weekends are
Saturday and Sunday.
Utilities for working with week days and weekend days in Moment. It assumes a Western
workweek, in which weekends are Saturday and Sunday.

### Motivation

Expand All @@ -19,25 +19,25 @@ This library supplies you with those missing tools.
### Why this library?

There are alternative libraries for these methods, but this one uses constant-time algorithms, not loops.
Loops are easier for a human to write but are much slower for a computer to resolve.
Loops are easier for a human to write, but are much slower for a computer to resolve.

### API

##### `weekDays( otherMoment )`

Calculate the number of work days between the moment and `otherMoment`. Work days are Monday through Friday.
Calculate the number of week days between the moment and `otherMoment`. Week days are Monday through Friday.

##### `weekendDays( otherMoment )`

Calculate the number of weekend days between the moment and `otherMoment`. Weekend days are Saturday and Sunday.

##### `addWorkDays( amount )`
##### `addWeekDays( amount )`

Add work days to a moment, modifying the original moment. Returns the moment.
Add week days to a moment, modifying the original moment. Returns the moment.

##### `subtractWorkDays( amount )`
##### `subtractWeekDays( amount )`

Subtract work days from the moment, modifying the original moment. Returns the moment.
Subtract week days from the moment, modifying the original moment. Returns the moment.

##### `isWeekDay()`

Expand Down
6 changes: 3 additions & 3 deletions src/moment-business.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ function determineSign(x) {
return x > 0 ? 1 : -1;
}

moment.fn.addWorkDays = function(count) {
moment.fn.addWeekDays = function(count) {
if (count === 0 || isNaN(count)) { return this; }

var sign = determineSign(count);
Expand Down Expand Up @@ -52,8 +52,8 @@ moment.fn.addWorkDays = function(count) {
};

// The inverse of adding
moment.fn.subtractWorkDays = function(count) {
return this.addWorkDays(-count);
moment.fn.subtractWeekDays = function(count) {
return this.addWeekDays(-count);
};

// Returns a Boolean representing
Expand Down
30 changes: 15 additions & 15 deletions test/unit/add.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ describe('Adding weekdays', () => {

it('should return the same moment', () => {
var clone = moment(start);
expect(start.addWorkDays({}).isSame(clone)).to.be.true;
expect(start.addWeekDays({}).isSame(clone)).to.be.true;
});
});

Expand All @@ -23,15 +23,15 @@ describe('Adding weekdays', () => {
_.each(fixtures.add.sunday, (solution, addition) => {
it('when adding, should calculate the correct number of workdays between every two dates; ' + addition + '.', () => {
solution = moment(solution, DATE_FORMAT);
calculated = moment(start).addWorkDays(addition);
calculated = moment(start).addWeekDays(addition);
expect(calculated.isSame(solution, 'day')).to.be.true;
});
});

_.each(fixtures.add.sunday, (solution, addition) => {
it('when subtracting negative, should calculate the correct number of workdays between every two dates; ' + addition, () => {
solution = moment(solution, DATE_FORMAT);
calculated = moment(start).subtractWorkDays(-addition);
calculated = moment(start).subtractWeekDays(-addition);
expect(calculated.isSame(solution, 'day')).to.be.true;
});
});
Expand All @@ -45,15 +45,15 @@ describe('Adding weekdays', () => {
_.each(fixtures.add.monday, (solution, addition) => {
it('when adding, should calculate the correct number of workdays between every two dates; ' + addition, () => {
solution = moment(solution, DATE_FORMAT);
calculated = moment(start).addWorkDays(addition);
calculated = moment(start).addWeekDays(addition);
expect(calculated.isSame(solution, 'day')).to.be.true;
});
});

_.each(fixtures.add.monday, (solution, addition) => {
it('when subtracting negative, should calculate the correct number of workdays between every two dates; ' + addition, () => {
solution = moment(solution, DATE_FORMAT);
calculated = moment(start).subtractWorkDays(-addition);
calculated = moment(start).subtractWeekDays(-addition);
expect(calculated.isSame(solution, 'day')).to.be.true;
});
});
Expand All @@ -67,15 +67,15 @@ describe('Adding weekdays', () => {
_.each(fixtures.add.tuesday, (solution, addition) => {
it('when adding, should calculate the correct number of workdays between every two dates; ' + addition, () => {
solution = moment(solution, DATE_FORMAT);
calculated = moment(start).addWorkDays(addition);
calculated = moment(start).addWeekDays(addition);
expect(calculated.isSame(solution, 'day')).to.be.true;
});
});

_.each(fixtures.add.tuesday, (solution, addition) => {
it('when subtracting negative, should calculate the correct number of workdays between every two dates; ' + addition, () => {
solution = moment(solution, DATE_FORMAT);
calculated = moment(start).subtractWorkDays(-addition);
calculated = moment(start).subtractWeekDays(-addition);
expect(calculated.isSame(solution, 'day')).to.be.true;
});
});
Expand All @@ -89,15 +89,15 @@ describe('Adding weekdays', () => {
_.each(fixtures.add.wednesday, (solution, addition) => {
it('when adding, should calculate the correct number of workdays between every two dates; ' + addition, () => {
solution = moment(solution, DATE_FORMAT);
calculated = moment(start).addWorkDays(addition);
calculated = moment(start).addWeekDays(addition);
expect(calculated.isSame(solution, 'day')).to.be.true;
});
});

_.each(fixtures.add.wednesday, (solution, addition) => {
it('when subtracting negative, should calculate the correct number of workdays between every two dates; ' + addition, () => {
solution = moment(solution, DATE_FORMAT);
calculated = moment(start).subtractWorkDays(-addition);
calculated = moment(start).subtractWeekDays(-addition);
expect(calculated.isSame(solution, 'day')).to.be.true;
});
});
Expand All @@ -111,15 +111,15 @@ describe('Adding weekdays', () => {
_.each(fixtures.add.thursday, (solution, addition) => {
it('when adding, should calculate the correct number of workdays between every two dates; ' + addition, () => {
solution = moment(solution, DATE_FORMAT);
calculated = moment(start).addWorkDays(addition);
calculated = moment(start).addWeekDays(addition);
expect(calculated.isSame(solution, 'day')).to.be.true;
});
});

_.each(fixtures.add.thursday, (solution, addition) => {
it('when subtracting negative, should calculate the correct number of workdays between every two dates; ' + addition, () => {
solution = moment(solution, DATE_FORMAT);
calculated = moment(start).subtractWorkDays(-addition);
calculated = moment(start).subtractWeekDays(-addition);
expect(calculated.isSame(solution, 'day')).to.be.true;
});
});
Expand All @@ -133,15 +133,15 @@ describe('Adding weekdays', () => {
_.each(fixtures.add.friday, (solution, addition) => {
it('when adding, should calculate the correct number of workdays between every two dates; ' + addition, () => {
solution = moment(solution, DATE_FORMAT);
calculated = moment(start).addWorkDays(addition);
calculated = moment(start).addWeekDays(addition);
expect(calculated.isSame(solution, 'day')).to.be.true;
});
});

_.each(fixtures.add.friday, (solution, addition) => {
it('when subtracting negative, should calculate the correct number of workdays between every two dates; ' + addition, () => {
solution = moment(solution, DATE_FORMAT);
calculated = moment(start).subtractWorkDays(-addition);
calculated = moment(start).subtractWeekDays(-addition);
expect(calculated.isSame(solution, 'day')).to.be.true;
});
});
Expand All @@ -155,15 +155,15 @@ describe('Adding weekdays', () => {
_.each(fixtures.add.saturday, (solution, addition) => {
it('when adding, should calculate the correct number of workdays between every two dates; ' + addition + '.', () => {
solution = moment(solution, DATE_FORMAT);
calculated = moment(start).addWorkDays(addition);
calculated = moment(start).addWeekDays(addition);
expect(calculated.isSame(solution, 'day')).to.be.true;
});
});

_.each(fixtures.add.saturday, (solution, addition) => {
it('when subtracting negative, should calculate the correct number of workdays between every two dates; ' + addition, () => {
solution = moment(solution, DATE_FORMAT);
calculated = moment(start).subtractWorkDays(-addition);
calculated = moment(start).subtractWeekDays(-addition);
expect(calculated.isSame(solution, 'day')).to.be.true;
});
});
Expand Down
28 changes: 14 additions & 14 deletions test/unit/subtract.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,15 @@ describe('Subtracting / adding negative weekdays', () => {
_.each(fixtures.subtract.sunday, (solution, addition) => {
it('when subtracting, should calculate the correct number of workdays between every two dates; ' + addition + '.', () => {
solution = moment(solution, DATE_FORMAT);
calculated = moment(start).subtractWorkDays(addition);
calculated = moment(start).subtractWeekDays(addition);
expect(calculated.isSame(solution, 'day')).to.be.true;
});
});

_.each(fixtures.subtract.sunday, (solution, addition) => {
it('when adding negative, should calculate the correct number of workdays between every two dates; ' + addition + '.', () => {
solution = moment(solution, DATE_FORMAT);
calculated = moment(start).addWorkDays(-addition);
calculated = moment(start).addWeekDays(-addition);
expect(calculated.isSame(solution, 'day')).to.be.true;
});
});
Expand All @@ -34,15 +34,15 @@ describe('Subtracting / adding negative weekdays', () => {
_.each(fixtures.subtract.monday, (solution, addition) => {
it('when subtracting, should calculate the correct number of workdays between every two dates; ' + addition, () => {
solution = moment(solution, DATE_FORMAT);
calculated = moment(start).subtractWorkDays(addition);
calculated = moment(start).subtractWeekDays(addition);
expect(calculated.isSame(solution, 'day')).to.be.true;
});
});

_.each(fixtures.subtract.monday, (solution, addition) => {
it('when adding negative, should calculate the correct number of workdays between every two dates; ' + addition, () => {
solution = moment(solution, DATE_FORMAT);
calculated = moment(start).addWorkDays(-addition);
calculated = moment(start).addWeekDays(-addition);
expect(calculated.isSame(solution, 'day')).to.be.true;
});
});
Expand All @@ -56,15 +56,15 @@ describe('Subtracting / adding negative weekdays', () => {
_.each(fixtures.subtract.tuesday, (solution, addition) => {
it('when subtracting, should calculate the correct number of workdays between every two dates; ' + addition, () => {
solution = moment(solution, DATE_FORMAT);
calculated = moment(start).subtractWorkDays(addition);
calculated = moment(start).subtractWeekDays(addition);
expect(calculated.isSame(solution, 'day')).to.be.true;
});
});

_.each(fixtures.subtract.tuesday, (solution, addition) => {
it('when adding negative, should calculate the correct number of workdays between every two dates; ' + addition, () => {
solution = moment(solution, DATE_FORMAT);
calculated = moment(start).addWorkDays(-addition);
calculated = moment(start).addWeekDays(-addition);
expect(calculated.isSame(solution, 'day')).to.be.true;
});
});
Expand All @@ -78,15 +78,15 @@ describe('Subtracting / adding negative weekdays', () => {
_.each(fixtures.subtract.wednesday, (solution, addition) => {
it('when subtracting, should calculate the correct number of workdays between every two dates; ' + addition, () => {
solution = moment(solution, DATE_FORMAT);
calculated = moment(start).subtractWorkDays(addition);
calculated = moment(start).subtractWeekDays(addition);
expect(calculated.isSame(solution, 'day')).to.be.true;
});
});

_.each(fixtures.subtract.wednesday, (solution, addition) => {
it('when adding negative, should calculate the correct number of workdays between every two dates; ' + addition, () => {
solution = moment(solution, DATE_FORMAT);
calculated = moment(start).addWorkDays(-addition);
calculated = moment(start).addWeekDays(-addition);
expect(calculated.isSame(solution, 'day')).to.be.true;
});
});
Expand All @@ -100,15 +100,15 @@ describe('Subtracting / adding negative weekdays', () => {
_.each(fixtures.subtract.thursday, (solution, addition) => {
it('when subtracting, should calculate the correct number of workdays between every two dates; ' + addition, () => {
solution = moment(solution, DATE_FORMAT);
calculated = moment(start).subtractWorkDays(addition);
calculated = moment(start).subtractWeekDays(addition);
expect(calculated.isSame(solution, 'day')).to.be.true;
});
});

_.each(fixtures.subtract.thursday, (solution, addition) => {
it('when adding negative, should calculate the correct number of workdays between every two dates; ' + addition, () => {
solution = moment(solution, DATE_FORMAT);
calculated = moment(start).addWorkDays(-addition);
calculated = moment(start).addWeekDays(-addition);
expect(calculated.isSame(solution, 'day')).to.be.true;
});
});
Expand All @@ -122,15 +122,15 @@ describe('Subtracting / adding negative weekdays', () => {
_.each(fixtures.subtract.friday, (solution, addition) => {
it('when subtracting, should calculate the correct number of workdays between every two dates; ' + addition, () => {
solution = moment(solution, DATE_FORMAT);
calculated = moment(start).subtractWorkDays(addition);
calculated = moment(start).subtractWeekDays(addition);
expect(calculated.isSame(solution, 'day')).to.be.true;
});
});

_.each(fixtures.subtract.friday, (solution, addition) => {
it('when adding negative, should calculate the correct number of workdays between every two dates; ' + addition, () => {
solution = moment(solution, DATE_FORMAT);
calculated = moment(start).addWorkDays(-addition);
calculated = moment(start).addWeekDays(-addition);
expect(calculated.isSame(solution, 'day')).to.be.true;
});
});
Expand All @@ -144,15 +144,15 @@ describe('Subtracting / adding negative weekdays', () => {
_.each(fixtures.subtract.saturday, (solution, addition) => {
it('when subtracting, should calculate the correct number of workdays between every two dates; ' + addition, () => {
solution = moment(solution, DATE_FORMAT);
calculated = moment(start).subtractWorkDays(addition);
calculated = moment(start).subtractWeekDays(addition);
expect(calculated.isSame(solution, 'day')).to.be.true;
});
});

_.each(fixtures.subtract.saturday, (solution, addition) => {
it('when adding negative, should calculate the correct number of workdays between every two dates; ' + addition, () => {
solution = moment(solution, DATE_FORMAT);
calculated = moment(start).addWorkDays(-addition);
calculated = moment(start).addWeekDays(-addition);
expect(calculated.isSame(solution, 'day')).to.be.true;
});
});
Expand Down

0 comments on commit 24ba5c3

Please sign in to comment.