From fda27bd592a56741bc2db6e5f4808281978d0f8e Mon Sep 17 00:00:00 2001 From: Lucas Silva Date: Fri, 18 Jun 2021 11:58:47 -0300 Subject: [PATCH 1/8] adding previoursDay and its variations --- src/index.js | 8 ++++ src/previousDay/index.ts | 46 +++++++++++++++++++ src/previousDay/test.ts | 82 ++++++++++++++++++++++++++++++++++ src/previousFriday/index.ts | 25 +++++++++++ src/previousFriday/test.ts | 44 ++++++++++++++++++ src/previousMonday/index.ts | 25 +++++++++++ src/previousMonday/test.ts | 44 ++++++++++++++++++ src/previousSaturday/index.ts | 25 +++++++++++ src/previousSaturday/test.ts | 44 ++++++++++++++++++ src/previousSunday/index.ts | 25 +++++++++++ src/previousSunday/test.ts | 44 ++++++++++++++++++ src/previousThursday/index.ts | 25 +++++++++++ src/previousThursday/test.ts | 44 ++++++++++++++++++ src/previousTuesday/index.ts | 25 +++++++++++ src/previousTuesday/test.ts | 44 ++++++++++++++++++ src/previousWednesday/index.ts | 25 +++++++++++ src/previousWednesday/test.ts | 44 ++++++++++++++++++ 17 files changed, 619 insertions(+) create mode 100644 src/previousDay/index.ts create mode 100644 src/previousDay/test.ts create mode 100644 src/previousFriday/index.ts create mode 100644 src/previousFriday/test.ts create mode 100644 src/previousMonday/index.ts create mode 100644 src/previousMonday/test.ts create mode 100644 src/previousSaturday/index.ts create mode 100644 src/previousSaturday/test.ts create mode 100644 src/previousSunday/index.ts create mode 100644 src/previousSunday/test.ts create mode 100644 src/previousThursday/index.ts create mode 100644 src/previousThursday/test.ts create mode 100644 src/previousTuesday/index.ts create mode 100644 src/previousTuesday/test.ts create mode 100644 src/previousWednesday/index.ts create mode 100644 src/previousWednesday/test.ts diff --git a/src/index.js b/src/index.js index bbf7fb1c4f..1a0f0fafd6 100644 --- a/src/index.js +++ b/src/index.js @@ -175,6 +175,14 @@ export { default as nextWednesday } from './nextWednesday/index' export { default as parse } from './parse/index' export { default as parseISO } from './parseISO/index' export { default as parseJSON } from './parseJSON/index' +export { default as previousDay } from './previousDay/index' +export { default as previousMonday } from './previousMonday/index' +export { default as previousTuesday } from './previousTuesday/index' +export { default as previousWednesday } from './previousWednesday/index' +export { default as previousThursday } from './previousThursday/index' +export { default as previousFriday } from './previousFriday/index' +export { default as previousSaturday } from './previousSaturday/index' +export { default as previousSunday } from './previousSunday/index' export { default as quartersToMonths } from './quartersToMonths/index' export { default as quartersToYears } from './quartersToYears/index' export { default as roundToNearestMinutes } from './roundToNearestMinutes/index' diff --git a/src/previousDay/index.ts b/src/previousDay/index.ts new file mode 100644 index 0000000000..7440da6150 --- /dev/null +++ b/src/previousDay/index.ts @@ -0,0 +1,46 @@ +import requiredArgs from '../_lib/requiredArgs/index' +import getDay from '../getDay' +import subDays from '../subDays' +import toDate from '../toDate' +import { Day } from '../types' + +const baseMap = [1,2,3,4,5,6,7] + +/** + * @name previousDay + * @category Weekday Helpers + * @summary When is the previous day of the week? + * + * @description + * When is the previous day of the week? 0-6 the day of the week, 0 represents Sunday. + * + * @param {Date | number} date - the date to check + * @param {Day} day - day of the week + * @returns {Date} - the date is the previous day of week + * @throws {TypeError} - 2 arguments required + * + * @example + * // When is the previous Monday before Mar, 20, 2020? + * const result = previousDay(new Date(2020, 2, 20), 1) + * //=> Mon Mar 16 2020 00:00:00 + * + * @example + * // When is the previous Tuesday before Mar, 21, 2020? + * const result = previousDay(new Date(2020, 2, 21), 2) + * //=> Tue Mar 17 2020 00:00:00 + */ +export default function previousDay(date: Date | number, day: Day): Date { + requiredArgs(2, arguments) + const map = genMap(day+1) + return subDays(toDate(date), map[getDay(toDate(date))]) +} + +function genMap(daysToMove: number): number[] { + if (daysToMove === 0) { + return baseMap + } else { + const mapStart = baseMap.slice(-daysToMove) + const mapEnd = baseMap.slice(0, baseMap.length - daysToMove) + return mapStart.concat(mapEnd) + } +} diff --git a/src/previousDay/test.ts b/src/previousDay/test.ts new file mode 100644 index 0000000000..ae777ee92a --- /dev/null +++ b/src/previousDay/test.ts @@ -0,0 +1,82 @@ +// @flow +/* eslint-env mocha */ + +import assert from 'power-assert' +import previousDay from '.' + +describe('previousDay', function () { + it('returns the previous Monday given various dates after the same', function () { + assert.deepStrictEqual( + previousDay(new Date(2021, 5 /* Jun */, 18), 1), + new Date(2021, 5 /* Jun */, 14) + ) + + assert.deepStrictEqual( + previousDay(new Date(2021, 5 /* Jun */, 17), 1), + new Date(2021, 5 /* Jun */, 14) + ) + + assert.deepStrictEqual( + previousDay(new Date(2021, 5 /* Jun */, 14), 1), + new Date(2021, 5 /* Jun */, 7) + ) + + assert.deepStrictEqual( + previousDay(new Date(2021, 5 /* Jun */, 9), 1), + new Date(2021, 5 /* Jun */, 7) + ) + + assert.deepStrictEqual( + previousDay(new Date(2021, 5 /* Jun */, 8), 1), + new Date(2021, 5 /* Jun */, 7) + ) + + assert.deepStrictEqual( + previousDay(new Date(2021, 5 /* Jun */, 7), 1), + new Date(2021, 4 /* May */, 31) + ) + + }) + + it('returns the previous Tuesday given the Saturday after it', function () { + assert.deepStrictEqual( + previousDay(new Date(2021, 5 /* Jun */, 26), 2), + new Date(2021, 5 /* Jun */, 22) + ) + }) + + it('returns the previous Wednesday given the Saturday after it', function () { + assert.deepStrictEqual( + previousDay(new Date(2021, 5 /* Jun */, 26), 3), + new Date(2021, 5 /* Jun */, 23) + ) + }) + + it('returns the previous Thursday given the Saturday after it', function () { + assert.deepStrictEqual( + previousDay(new Date(2021, 5 /* Jun */, 26), 4), + new Date(2021, 5 /* Jun */, 24) + ) + }) + + it('returns the previous Friday given the Saturday after it', function () { + assert.deepStrictEqual( + previousDay(new Date(2021, 5 /* Jun */, 26), 5), + new Date(2021, 5 /* Jun */, 25) + ) + }) + + it('returns the previous Saturday given the Saturday after it', function () { + assert.deepStrictEqual( + previousDay(new Date(2021, 5 /* Jun */, 26), 6), + new Date(2021, 5 /* Jun */, 19) + ) + }) + + it('returns previours Sunday given the day is Sunday', function () { + assert.deepStrictEqual( + previousDay(new Date(2021, 5 /* Jun */, 27), 0), + new Date(2021, 5 /* Jun */, 20) + ) + }) +}) diff --git a/src/previousFriday/index.ts b/src/previousFriday/index.ts new file mode 100644 index 0000000000..4e7b0288f3 --- /dev/null +++ b/src/previousFriday/index.ts @@ -0,0 +1,25 @@ +import requiredArgs from '../_lib/requiredArgs/index' +import previousDay from '../previousDay/index' +import toDate from '../toDate/index' + +/** + * @name previousFriday + * @category Weekday Helpers + * @summary When is the previous Friday? + * + * @description + * When is the previous Friday? + * + * @param {Date | number} date - the date to start counting from + * @returns {Date} the previous Friday + * @throws {TypeError} 1 argument required + * + * @example + * // When is the previous Friday before Jun, 19, 2021? + * const result = previousFriday(new Date(2021, 5, 19)) + * //=> Fri June 18 2021 00:00:00 + */ +export default function previousFriday(date: Date | number): Date { + requiredArgs(1, arguments) + return previousDay(toDate(date), 5) +} diff --git a/src/previousFriday/test.ts b/src/previousFriday/test.ts new file mode 100644 index 0000000000..595db63e1d --- /dev/null +++ b/src/previousFriday/test.ts @@ -0,0 +1,44 @@ +// @flow +/* eslint-env mocha */ + +import assert from 'power-assert' +import previoursFriday from '.' + +describe('previoursFriday', function () { + it('returns the following Friday given various dates after the same', function () { + assert.deepStrictEqual( + previoursFriday(new Date(2021, 5 /* Jun */, 5)), + new Date(2021, 5 /* Jun */, 4) + ) + + assert.deepStrictEqual( + previoursFriday(new Date(2021, 5 /* Jun */, 6)), + new Date(2021, 5 /* Jun */, 4) + ) + + assert.deepStrictEqual( + previoursFriday(new Date(2021, 5 /* Jun */, 11)), + new Date(2021, 5 /* Jun */, 4) + ) + + assert.deepStrictEqual( + previoursFriday(new Date(2021, 5 /* Jun */, 14)), + new Date(2021, 5 /* Jun */, 11) + ) + + assert.deepStrictEqual( + previoursFriday(new Date(2021, 5 /* Jun */, 15)), + new Date(2021, 5 /* Jun */, 11) + ) + + assert.deepStrictEqual( + previoursFriday(new Date(2021, 5 /* Jun */, 24)), + new Date(2021, 5 /* Jun */, 18) + ) + + }) + + it('returns `Invalid Date` if the given date is invalid', function () { + assert(previoursFriday(new Date(NaN)) instanceof Date) + }) +}) diff --git a/src/previousMonday/index.ts b/src/previousMonday/index.ts new file mode 100644 index 0000000000..ba9e43e3ee --- /dev/null +++ b/src/previousMonday/index.ts @@ -0,0 +1,25 @@ +import requiredArgs from '../_lib/requiredArgs/index' +import previousDay from '../previousDay/index' +import toDate from '../toDate/index' + +/** + * @name previousMonday + * @category Weekday Helpers + * @summary When is the previous Monday? + * + * @description + * When is the previous Monday? + * + * @param {Date | number} date - the date to start counting from + * @returns {Date} the previous Monday + * @throws {TypeError} 1 argument required + * + * @example + * // When is the previous Monday before Jun, 18, 2021? + * const result = previousMonday(new Date(2021, 5, 18)) + * //=> Mon June 14 2021 00:00:00 + */ +export default function previousMonday(date: Date | number): Date { + requiredArgs(1, arguments) + return previousDay(toDate(date), 1) +} diff --git a/src/previousMonday/test.ts b/src/previousMonday/test.ts new file mode 100644 index 0000000000..249d9bdcef --- /dev/null +++ b/src/previousMonday/test.ts @@ -0,0 +1,44 @@ +// @flow +/* eslint-env mocha */ + +import assert from 'power-assert' +import previoursMonday from '.' + +describe('previoursMonday', function () { + it('returns the following Monday given various dates after the same', function () { + assert.deepStrictEqual( + previoursMonday(new Date(2021, 5 /* Jun */, 5)), + new Date(2021, 4 /* May */, 31) + ) + + assert.deepStrictEqual( + previoursMonday(new Date(2021, 5 /* Jun */, 6)), + new Date(2021, 4 /* May */, 31) + ) + + assert.deepStrictEqual( + previoursMonday(new Date(2021, 5 /* Jun */, 7)), + new Date(2021, 4 /* May */, 31) + ) + + assert.deepStrictEqual( + previoursMonday(new Date(2021, 5 /* Jun */, 14)), + new Date(2021, 5 /* Jun */, 7) + ) + + assert.deepStrictEqual( + previoursMonday(new Date(2021, 5 /* Jun */, 15)), + new Date(2021, 5 /* Jun */, 14) + ) + + assert.deepStrictEqual( + previoursMonday(new Date(2021, 5 /* Jun */, 16)), + new Date(2021, 5 /* Jun */, 14) + ) + + }) + + it('returns `Invalid Date` if the given date is invalid', function () { + assert(previoursMonday(new Date(NaN)) instanceof Date) + }) +}) diff --git a/src/previousSaturday/index.ts b/src/previousSaturday/index.ts new file mode 100644 index 0000000000..f3a529f44f --- /dev/null +++ b/src/previousSaturday/index.ts @@ -0,0 +1,25 @@ +import requiredArgs from '../_lib/requiredArgs/index' +import previousDay from '../previousDay/index' +import toDate from '../toDate/index' + +/** + * @name previousSaturday + * @category Weekday Helpers + * @summary When is the previous Saturday? + * + * @description + * When is the previous Saturday? + * + * @param {Date | number} date - the date to start counting from + * @returns {Date} the previous Saturday + * @throws {TypeError} 1 argument required + * + * @example + * // When is the previous Saturday before Jun, 20, 2021? + * const result = previousSaturday(new Date(2021, 5, 20)) + * //=> Fri June 19 2021 00:00:00 + */ +export default function previousSaturday(date: Date | number): Date { + requiredArgs(1, arguments) + return previousDay(toDate(date), 6) +} diff --git a/src/previousSaturday/test.ts b/src/previousSaturday/test.ts new file mode 100644 index 0000000000..c14c839f87 --- /dev/null +++ b/src/previousSaturday/test.ts @@ -0,0 +1,44 @@ +// @flow +/* eslint-env mocha */ + +import assert from 'power-assert' +import previoursSaturday from '.' + +describe('previoursSaturday', function () { + it('returns the following Saturday given various dates after the same', function () { + assert.deepStrictEqual( + previoursSaturday(new Date(2021, 5 /* Jun */, 7)), + new Date(2021, 5 /* Jun */, 5) + ) + + assert.deepStrictEqual( + previoursSaturday(new Date(2021, 5 /* Jun */, 8)), + new Date(2021, 5 /* Jun */, 5) + ) + + assert.deepStrictEqual( + previoursSaturday(new Date(2021, 5 /* Jun */, 12)), + new Date(2021, 5 /* Jun */, 5) + ) + + assert.deepStrictEqual( + previoursSaturday(new Date(2021, 5 /* Jun */, 16)), + new Date(2021, 5 /* Jun */, 12) + ) + + assert.deepStrictEqual( + previoursSaturday(new Date(2021, 5 /* Jun */, 17)), + new Date(2021, 5 /* Jun */, 12) + ) + + assert.deepStrictEqual( + previoursSaturday(new Date(2021, 5 /* Jun */, 24)), + new Date(2021, 5 /* Jun */, 19) + ) + + }) + + it('returns `Invalid Date` if the given date is invalid', function () { + assert(previoursSaturday(new Date(NaN)) instanceof Date) + }) +}) diff --git a/src/previousSunday/index.ts b/src/previousSunday/index.ts new file mode 100644 index 0000000000..375461287a --- /dev/null +++ b/src/previousSunday/index.ts @@ -0,0 +1,25 @@ +import requiredArgs from '../_lib/requiredArgs/index' +import previousDay from '../previousDay/index' +import toDate from '../toDate/index' + +/** + * @name previousSunday + * @category Weekday Helpers + * @summary When is the previous Sunday? + * + * @description + * When is the previous Sunday? + * + * @param {Date | number} date - the date to start counting from + * @returns {Date} the previous Sunday + * @throws {TypeError} 1 argument required + * + * @example + * // When is the previous Sunday before Jun, 21, 2021? + * const result = previousSunday(new Date(2021, 5, 21)) + * //=> Fri June 20 2021 00:00:00 + */ +export default function previousSunday(date: Date | number): Date { + requiredArgs(1, arguments) + return previousDay(toDate(date), 0) +} diff --git a/src/previousSunday/test.ts b/src/previousSunday/test.ts new file mode 100644 index 0000000000..b1eff92c97 --- /dev/null +++ b/src/previousSunday/test.ts @@ -0,0 +1,44 @@ +// @flow +/* eslint-env mocha */ + +import assert from 'power-assert' +import previoursSunday from '.' + +describe('previoursSunday', function () { + it('returns the following Sunday given various dates after the same', function () { + assert.deepStrictEqual( + previoursSunday(new Date(2021, 5 /* Jun */, 7)), + new Date(2021, 5 /* Jun */, 6) + ) + + assert.deepStrictEqual( + previoursSunday(new Date(2021, 5 /* Jun */, 8)), + new Date(2021, 5 /* Jun */, 6) + ) + + assert.deepStrictEqual( + previoursSunday(new Date(2021, 5 /* Jun */, 13)), + new Date(2021, 5 /* Jun */, 6) + ) + + assert.deepStrictEqual( + previoursSunday(new Date(2021, 5 /* Jun */, 16)), + new Date(2021, 5 /* Jun */, 13) + ) + + assert.deepStrictEqual( + previoursSunday(new Date(2021, 5 /* Jun */, 17)), + new Date(2021, 5 /* Jun */, 13) + ) + + assert.deepStrictEqual( + previoursSunday(new Date(2021, 5 /* Jun */, 24)), + new Date(2021, 5 /* Jun */, 20) + ) + + }) + + it('returns `Invalid Date` if the given date is invalid', function () { + assert(previoursSunday(new Date(NaN)) instanceof Date) + }) +}) diff --git a/src/previousThursday/index.ts b/src/previousThursday/index.ts new file mode 100644 index 0000000000..4c6c4909da --- /dev/null +++ b/src/previousThursday/index.ts @@ -0,0 +1,25 @@ +import requiredArgs from '../_lib/requiredArgs/index' +import previousDay from '../previousDay/index' +import toDate from '../toDate/index' + +/** + * @name previousThursday + * @category Weekday Helpers + * @summary When is the previous Thursday? + * + * @description + * When is the previous Thursday? + * + * @param {Date | number} date - the date to start counting from + * @returns {Date} the previous Thursday + * @throws {TypeError} 1 argument required + * + * @example + * // When is the previous Thursday before Jun, 18, 2021? + * const result = previousThursday(new Date(2021, 5, 18)) + * //=> Thu June 17 2021 00:00:00 + */ +export default function previousThursday(date: Date | number): Date { + requiredArgs(1, arguments) + return previousDay(toDate(date), 4) +} diff --git a/src/previousThursday/test.ts b/src/previousThursday/test.ts new file mode 100644 index 0000000000..3e3a011227 --- /dev/null +++ b/src/previousThursday/test.ts @@ -0,0 +1,44 @@ +// @flow +/* eslint-env mocha */ + +import assert from 'power-assert' +import previoursThursday from '.' + +describe('previoursThursday', function () { + it('returns the following Thursday given various dates after the same', function () { + assert.deepStrictEqual( + previoursThursday(new Date(2021, 5 /* Jun */, 5)), + new Date(2021, 5 /* Jun */, 3) + ) + + assert.deepStrictEqual( + previoursThursday(new Date(2021, 5 /* Jun */, 6)), + new Date(2021, 5 /* Jun */, 3) + ) + + assert.deepStrictEqual( + previoursThursday(new Date(2021, 5 /* Jun */, 10)), + new Date(2021, 5 /* Jun */, 3) + ) + + assert.deepStrictEqual( + previoursThursday(new Date(2021, 5 /* Jun */, 14)), + new Date(2021, 5 /* Jun */, 10) + ) + + assert.deepStrictEqual( + previoursThursday(new Date(2021, 5 /* Jun */, 15)), + new Date(2021, 5 /* Jun */, 10) + ) + + assert.deepStrictEqual( + previoursThursday(new Date(2021, 5 /* Jun */, 24)), + new Date(2021, 5 /* Jun */, 17) + ) + + }) + + it('returns `Invalid Date` if the given date is invalid', function () { + assert(previoursThursday(new Date(NaN)) instanceof Date) + }) +}) diff --git a/src/previousTuesday/index.ts b/src/previousTuesday/index.ts new file mode 100644 index 0000000000..af17bccac2 --- /dev/null +++ b/src/previousTuesday/index.ts @@ -0,0 +1,25 @@ +import requiredArgs from '../_lib/requiredArgs/index' +import previousDay from '../previousDay/index' +import toDate from '../toDate/index' + +/** + * @name previousTuesday + * @category Weekday Helpers + * @summary When is the previous Tuesday? + * + * @description + * When is the previous Tuesday? + * + * @param {Date | number} date - the date to start counting from + * @returns {Date} the previous Tuesday + * @throws {TypeError} 1 argument required + * + * @example + * // When is the previous Tuesday before Jun, 18, 2021? + * const result = previousTuesday(new Date(2021, 5, 18)) + * //=> Tue June 15 2021 00:00:00 + */ +export default function previousTuesday(date: Date | number): Date { + requiredArgs(1, arguments) + return previousDay(toDate(date), 2) +} \ No newline at end of file diff --git a/src/previousTuesday/test.ts b/src/previousTuesday/test.ts new file mode 100644 index 0000000000..62f51cfdc4 --- /dev/null +++ b/src/previousTuesday/test.ts @@ -0,0 +1,44 @@ +// @flow +/* eslint-env mocha */ + +import assert from 'power-assert' +import previoursTuesday from '.' + +describe('previoursTuesday', function () { + it('returns the following Tuesday given various dates after the same', function () { + assert.deepStrictEqual( + previoursTuesday(new Date(2021, 5 /* Jun */, 5)), + new Date(2021, 5 /* Jun */, 1) + ) + + assert.deepStrictEqual( + previoursTuesday(new Date(2021, 5 /* Jun */, 6)), + new Date(2021, 5 /* Jun */, 1) + ) + + assert.deepStrictEqual( + previoursTuesday(new Date(2021, 5 /* Jun */, 8)), + new Date(2021, 5 /* Jun */, 1) + ) + + assert.deepStrictEqual( + previoursTuesday(new Date(2021, 5 /* Jun */, 15)), + new Date(2021, 5 /* Jun */, 8) + ) + + assert.deepStrictEqual( + previoursTuesday(new Date(2021, 5 /* Jun */, 17)), + new Date(2021, 5 /* Jun */, 15) + ) + + assert.deepStrictEqual( + previoursTuesday(new Date(2021, 5 /* Jun */, 18)), + new Date(2021, 5 /* Jun */, 15) + ) + + }) + + it('returns `Invalid Date` if the given date is invalid', function () { + assert(previoursTuesday(new Date(NaN)) instanceof Date) + }) +}) diff --git a/src/previousWednesday/index.ts b/src/previousWednesday/index.ts new file mode 100644 index 0000000000..208603dc67 --- /dev/null +++ b/src/previousWednesday/index.ts @@ -0,0 +1,25 @@ +import requiredArgs from '../_lib/requiredArgs/index' +import previousDay from '../previousDay/index' +import toDate from '../toDate/index' + +/** + * @name previousWednesday + * @category Weekday Helpers + * @summary When is the previous Wednesday? + * + * @description + * When is the previous Wednesday? + * + * @param {Date | number} date - the date to start counting from + * @returns {Date} the previous Wednesday + * @throws {TypeError} 1 argument required + * + * @example + * // When is the previous Wednesday before Jun, 18, 2021? + * const result = previousWednesday(new Date(2021, 5, 18)) + * //=> Wed June 16 2021 00:00:00 + */ +export default function previousWednesday(date: Date | number): Date { + requiredArgs(1, arguments) + return previousDay(toDate(date), 3) +} diff --git a/src/previousWednesday/test.ts b/src/previousWednesday/test.ts new file mode 100644 index 0000000000..0b2d5fc11a --- /dev/null +++ b/src/previousWednesday/test.ts @@ -0,0 +1,44 @@ +// @flow +/* eslint-env mocha */ + +import assert from 'power-assert' +import previoursWednesday from '.' + +describe('previoursWednesday', function () { + it('returns the following Wednesday given various dates after the same', function () { + assert.deepStrictEqual( + previoursWednesday(new Date(2021, 5 /* Jun */, 5)), + new Date(2021, 5 /* Jun */, 2) + ) + + assert.deepStrictEqual( + previoursWednesday(new Date(2021, 5 /* Jun */, 6)), + new Date(2021, 5 /* Jun */, 2) + ) + + assert.deepStrictEqual( + previoursWednesday(new Date(2021, 5 /* Jun */, 9)), + new Date(2021, 5 /* Jun */, 2) + ) + + assert.deepStrictEqual( + previoursWednesday(new Date(2021, 5 /* Jun */, 17)), + new Date(2021, 5 /* Jun */, 16) + ) + + assert.deepStrictEqual( + previoursWednesday(new Date(2021, 5 /* Jun */, 18)), + new Date(2021, 5 /* Jun */, 16) + ) + + assert.deepStrictEqual( + previoursWednesday(new Date(2021, 5 /* Jun */, 25)), + new Date(2021, 5 /* Jun */, 23) + ) + + }) + + it('returns `Invalid Date` if the given date is invalid', function () { + assert(previoursWednesday(new Date(NaN)) instanceof Date) + }) +}) From 13cd07eab9fd377a66e9d246075701d1b825af7e Mon Sep 17 00:00:00 2001 From: Tetiana Date: Thu, 29 Jul 2021 22:30:52 +0100 Subject: [PATCH 2/8] Rebase master --- src/index.js | 0 src/previousDay/index.ts | 21 +++++++-------------- src/previousDay/test.ts | 2 +- src/previousFriday/index.ts | 0 src/previousFriday/test.ts | 18 +++++++++--------- src/previousMonday/index.ts | 0 src/previousMonday/test.ts | 18 +++++++++--------- src/previousSaturday/index.ts | 0 src/previousSaturday/test.ts | 18 +++++++++--------- src/previousSunday/index.ts | 0 src/previousSunday/test.ts | 18 +++++++++--------- src/previousThursday/index.ts | 0 src/previousThursday/test.ts | 18 +++++++++--------- src/previousTuesday/index.ts | 0 src/previousTuesday/test.ts | 18 +++++++++--------- src/previousWednesday/index.ts | 0 src/previousWednesday/test.ts | 18 +++++++++--------- 17 files changed, 71 insertions(+), 78 deletions(-) mode change 100644 => 100755 src/index.js mode change 100644 => 100755 src/previousDay/index.ts mode change 100644 => 100755 src/previousDay/test.ts mode change 100644 => 100755 src/previousFriday/index.ts mode change 100644 => 100755 src/previousFriday/test.ts mode change 100644 => 100755 src/previousMonday/index.ts mode change 100644 => 100755 src/previousMonday/test.ts mode change 100644 => 100755 src/previousSaturday/index.ts mode change 100644 => 100755 src/previousSaturday/test.ts mode change 100644 => 100755 src/previousSunday/index.ts mode change 100644 => 100755 src/previousSunday/test.ts mode change 100644 => 100755 src/previousThursday/index.ts mode change 100644 => 100755 src/previousThursday/test.ts mode change 100644 => 100755 src/previousTuesday/index.ts mode change 100644 => 100755 src/previousTuesday/test.ts mode change 100644 => 100755 src/previousWednesday/index.ts mode change 100644 => 100755 src/previousWednesday/test.ts diff --git a/src/index.js b/src/index.js old mode 100644 new mode 100755 diff --git a/src/previousDay/index.ts b/src/previousDay/index.ts old mode 100644 new mode 100755 index 7440da6150..158928b9ce --- a/src/previousDay/index.ts +++ b/src/previousDay/index.ts @@ -4,7 +4,6 @@ import subDays from '../subDays' import toDate from '../toDate' import { Day } from '../types' -const baseMap = [1,2,3,4,5,6,7] /** * @name previousDay @@ -14,7 +13,7 @@ const baseMap = [1,2,3,4,5,6,7] * @description * When is the previous day of the week? 0-6 the day of the week, 0 represents Sunday. * - * @param {Date | number} date - the date to check + * @param {Date | number} dirtyDate - the date to check * @param {Day} day - day of the week * @returns {Date} - the date is the previous day of week * @throws {TypeError} - 2 arguments required @@ -29,18 +28,12 @@ const baseMap = [1,2,3,4,5,6,7] * const result = previousDay(new Date(2020, 2, 21), 2) * //=> Tue Mar 17 2020 00:00:00 */ -export default function previousDay(date: Date | number, day: Day): Date { +export default function previousDay(dirtyDate: Date | number, day: Day): Date { requiredArgs(2, arguments) - const map = genMap(day+1) - return subDays(toDate(date), map[getDay(toDate(date))]) -} + const date = toDate(dirtyDate) + + let delta = getDay(date) - day + if (delta <= 0) delta += 7 -function genMap(daysToMove: number): number[] { - if (daysToMove === 0) { - return baseMap - } else { - const mapStart = baseMap.slice(-daysToMove) - const mapEnd = baseMap.slice(0, baseMap.length - daysToMove) - return mapStart.concat(mapEnd) - } + return subDays(date, delta) } diff --git a/src/previousDay/test.ts b/src/previousDay/test.ts old mode 100644 new mode 100755 index ae777ee92a..0c990a5a93 --- a/src/previousDay/test.ts +++ b/src/previousDay/test.ts @@ -73,7 +73,7 @@ describe('previousDay', function () { ) }) - it('returns previours Sunday given the day is Sunday', function () { + it('returns previous Sunday given the day is Sunday', function () { assert.deepStrictEqual( previousDay(new Date(2021, 5 /* Jun */, 27), 0), new Date(2021, 5 /* Jun */, 20) diff --git a/src/previousFriday/index.ts b/src/previousFriday/index.ts old mode 100644 new mode 100755 diff --git a/src/previousFriday/test.ts b/src/previousFriday/test.ts old mode 100644 new mode 100755 index 595db63e1d..cb9deab8aa --- a/src/previousFriday/test.ts +++ b/src/previousFriday/test.ts @@ -2,43 +2,43 @@ /* eslint-env mocha */ import assert from 'power-assert' -import previoursFriday from '.' +import previousFriday from '.' -describe('previoursFriday', function () { +describe('previousFriday', function () { it('returns the following Friday given various dates after the same', function () { assert.deepStrictEqual( - previoursFriday(new Date(2021, 5 /* Jun */, 5)), + previousFriday(new Date(2021, 5 /* Jun */, 5)), new Date(2021, 5 /* Jun */, 4) ) assert.deepStrictEqual( - previoursFriday(new Date(2021, 5 /* Jun */, 6)), + previousFriday(new Date(2021, 5 /* Jun */, 6)), new Date(2021, 5 /* Jun */, 4) ) assert.deepStrictEqual( - previoursFriday(new Date(2021, 5 /* Jun */, 11)), + previousFriday(new Date(2021, 5 /* Jun */, 11)), new Date(2021, 5 /* Jun */, 4) ) assert.deepStrictEqual( - previoursFriday(new Date(2021, 5 /* Jun */, 14)), + previousFriday(new Date(2021, 5 /* Jun */, 14)), new Date(2021, 5 /* Jun */, 11) ) assert.deepStrictEqual( - previoursFriday(new Date(2021, 5 /* Jun */, 15)), + previousFriday(new Date(2021, 5 /* Jun */, 15)), new Date(2021, 5 /* Jun */, 11) ) assert.deepStrictEqual( - previoursFriday(new Date(2021, 5 /* Jun */, 24)), + previousFriday(new Date(2021, 5 /* Jun */, 24)), new Date(2021, 5 /* Jun */, 18) ) }) it('returns `Invalid Date` if the given date is invalid', function () { - assert(previoursFriday(new Date(NaN)) instanceof Date) + assert(previousFriday(new Date(NaN)) instanceof Date) }) }) diff --git a/src/previousMonday/index.ts b/src/previousMonday/index.ts old mode 100644 new mode 100755 diff --git a/src/previousMonday/test.ts b/src/previousMonday/test.ts old mode 100644 new mode 100755 index 249d9bdcef..211d656480 --- a/src/previousMonday/test.ts +++ b/src/previousMonday/test.ts @@ -2,43 +2,43 @@ /* eslint-env mocha */ import assert from 'power-assert' -import previoursMonday from '.' +import previousMonday from '.' -describe('previoursMonday', function () { +describe('previousMonday', function () { it('returns the following Monday given various dates after the same', function () { assert.deepStrictEqual( - previoursMonday(new Date(2021, 5 /* Jun */, 5)), + previousMonday(new Date(2021, 5 /* Jun */, 5)), new Date(2021, 4 /* May */, 31) ) assert.deepStrictEqual( - previoursMonday(new Date(2021, 5 /* Jun */, 6)), + previousMonday(new Date(2021, 5 /* Jun */, 6)), new Date(2021, 4 /* May */, 31) ) assert.deepStrictEqual( - previoursMonday(new Date(2021, 5 /* Jun */, 7)), + previousMonday(new Date(2021, 5 /* Jun */, 7)), new Date(2021, 4 /* May */, 31) ) assert.deepStrictEqual( - previoursMonday(new Date(2021, 5 /* Jun */, 14)), + previousMonday(new Date(2021, 5 /* Jun */, 14)), new Date(2021, 5 /* Jun */, 7) ) assert.deepStrictEqual( - previoursMonday(new Date(2021, 5 /* Jun */, 15)), + previousMonday(new Date(2021, 5 /* Jun */, 15)), new Date(2021, 5 /* Jun */, 14) ) assert.deepStrictEqual( - previoursMonday(new Date(2021, 5 /* Jun */, 16)), + previousMonday(new Date(2021, 5 /* Jun */, 16)), new Date(2021, 5 /* Jun */, 14) ) }) it('returns `Invalid Date` if the given date is invalid', function () { - assert(previoursMonday(new Date(NaN)) instanceof Date) + assert(previousMonday(new Date(NaN)) instanceof Date) }) }) diff --git a/src/previousSaturday/index.ts b/src/previousSaturday/index.ts old mode 100644 new mode 100755 diff --git a/src/previousSaturday/test.ts b/src/previousSaturday/test.ts old mode 100644 new mode 100755 index c14c839f87..0fbbde7e97 --- a/src/previousSaturday/test.ts +++ b/src/previousSaturday/test.ts @@ -2,43 +2,43 @@ /* eslint-env mocha */ import assert from 'power-assert' -import previoursSaturday from '.' +import previousSaturday from '.' -describe('previoursSaturday', function () { +describe('previousSaturday', function () { it('returns the following Saturday given various dates after the same', function () { assert.deepStrictEqual( - previoursSaturday(new Date(2021, 5 /* Jun */, 7)), + previousSaturday(new Date(2021, 5 /* Jun */, 7)), new Date(2021, 5 /* Jun */, 5) ) assert.deepStrictEqual( - previoursSaturday(new Date(2021, 5 /* Jun */, 8)), + previousSaturday(new Date(2021, 5 /* Jun */, 8)), new Date(2021, 5 /* Jun */, 5) ) assert.deepStrictEqual( - previoursSaturday(new Date(2021, 5 /* Jun */, 12)), + previousSaturday(new Date(2021, 5 /* Jun */, 12)), new Date(2021, 5 /* Jun */, 5) ) assert.deepStrictEqual( - previoursSaturday(new Date(2021, 5 /* Jun */, 16)), + previousSaturday(new Date(2021, 5 /* Jun */, 16)), new Date(2021, 5 /* Jun */, 12) ) assert.deepStrictEqual( - previoursSaturday(new Date(2021, 5 /* Jun */, 17)), + previousSaturday(new Date(2021, 5 /* Jun */, 17)), new Date(2021, 5 /* Jun */, 12) ) assert.deepStrictEqual( - previoursSaturday(new Date(2021, 5 /* Jun */, 24)), + previousSaturday(new Date(2021, 5 /* Jun */, 24)), new Date(2021, 5 /* Jun */, 19) ) }) it('returns `Invalid Date` if the given date is invalid', function () { - assert(previoursSaturday(new Date(NaN)) instanceof Date) + assert(previousSaturday(new Date(NaN)) instanceof Date) }) }) diff --git a/src/previousSunday/index.ts b/src/previousSunday/index.ts old mode 100644 new mode 100755 diff --git a/src/previousSunday/test.ts b/src/previousSunday/test.ts old mode 100644 new mode 100755 index b1eff92c97..ba59999d33 --- a/src/previousSunday/test.ts +++ b/src/previousSunday/test.ts @@ -2,43 +2,43 @@ /* eslint-env mocha */ import assert from 'power-assert' -import previoursSunday from '.' +import previousSunday from '.' -describe('previoursSunday', function () { +describe('previousSunday', function () { it('returns the following Sunday given various dates after the same', function () { assert.deepStrictEqual( - previoursSunday(new Date(2021, 5 /* Jun */, 7)), + previousSunday(new Date(2021, 5 /* Jun */, 7)), new Date(2021, 5 /* Jun */, 6) ) assert.deepStrictEqual( - previoursSunday(new Date(2021, 5 /* Jun */, 8)), + previousSunday(new Date(2021, 5 /* Jun */, 8)), new Date(2021, 5 /* Jun */, 6) ) assert.deepStrictEqual( - previoursSunday(new Date(2021, 5 /* Jun */, 13)), + previousSunday(new Date(2021, 5 /* Jun */, 13)), new Date(2021, 5 /* Jun */, 6) ) assert.deepStrictEqual( - previoursSunday(new Date(2021, 5 /* Jun */, 16)), + previousSunday(new Date(2021, 5 /* Jun */, 16)), new Date(2021, 5 /* Jun */, 13) ) assert.deepStrictEqual( - previoursSunday(new Date(2021, 5 /* Jun */, 17)), + previousSunday(new Date(2021, 5 /* Jun */, 17)), new Date(2021, 5 /* Jun */, 13) ) assert.deepStrictEqual( - previoursSunday(new Date(2021, 5 /* Jun */, 24)), + previousSunday(new Date(2021, 5 /* Jun */, 24)), new Date(2021, 5 /* Jun */, 20) ) }) it('returns `Invalid Date` if the given date is invalid', function () { - assert(previoursSunday(new Date(NaN)) instanceof Date) + assert(previousSunday(new Date(NaN)) instanceof Date) }) }) diff --git a/src/previousThursday/index.ts b/src/previousThursday/index.ts old mode 100644 new mode 100755 diff --git a/src/previousThursday/test.ts b/src/previousThursday/test.ts old mode 100644 new mode 100755 index 3e3a011227..a3073b23b4 --- a/src/previousThursday/test.ts +++ b/src/previousThursday/test.ts @@ -2,43 +2,43 @@ /* eslint-env mocha */ import assert from 'power-assert' -import previoursThursday from '.' +import previousThursday from '.' -describe('previoursThursday', function () { +describe('previousThursday', function () { it('returns the following Thursday given various dates after the same', function () { assert.deepStrictEqual( - previoursThursday(new Date(2021, 5 /* Jun */, 5)), + previousThursday(new Date(2021, 5 /* Jun */, 5)), new Date(2021, 5 /* Jun */, 3) ) assert.deepStrictEqual( - previoursThursday(new Date(2021, 5 /* Jun */, 6)), + previousThursday(new Date(2021, 5 /* Jun */, 6)), new Date(2021, 5 /* Jun */, 3) ) assert.deepStrictEqual( - previoursThursday(new Date(2021, 5 /* Jun */, 10)), + previousThursday(new Date(2021, 5 /* Jun */, 10)), new Date(2021, 5 /* Jun */, 3) ) assert.deepStrictEqual( - previoursThursday(new Date(2021, 5 /* Jun */, 14)), + previousThursday(new Date(2021, 5 /* Jun */, 14)), new Date(2021, 5 /* Jun */, 10) ) assert.deepStrictEqual( - previoursThursday(new Date(2021, 5 /* Jun */, 15)), + previousThursday(new Date(2021, 5 /* Jun */, 15)), new Date(2021, 5 /* Jun */, 10) ) assert.deepStrictEqual( - previoursThursday(new Date(2021, 5 /* Jun */, 24)), + previousThursday(new Date(2021, 5 /* Jun */, 24)), new Date(2021, 5 /* Jun */, 17) ) }) it('returns `Invalid Date` if the given date is invalid', function () { - assert(previoursThursday(new Date(NaN)) instanceof Date) + assert(previousThursday(new Date(NaN)) instanceof Date) }) }) diff --git a/src/previousTuesday/index.ts b/src/previousTuesday/index.ts old mode 100644 new mode 100755 diff --git a/src/previousTuesday/test.ts b/src/previousTuesday/test.ts old mode 100644 new mode 100755 index 62f51cfdc4..57f7fa444f --- a/src/previousTuesday/test.ts +++ b/src/previousTuesday/test.ts @@ -2,43 +2,43 @@ /* eslint-env mocha */ import assert from 'power-assert' -import previoursTuesday from '.' +import previousTuesday from '.' -describe('previoursTuesday', function () { +describe('previousTuesday', function () { it('returns the following Tuesday given various dates after the same', function () { assert.deepStrictEqual( - previoursTuesday(new Date(2021, 5 /* Jun */, 5)), + previousTuesday(new Date(2021, 5 /* Jun */, 5)), new Date(2021, 5 /* Jun */, 1) ) assert.deepStrictEqual( - previoursTuesday(new Date(2021, 5 /* Jun */, 6)), + previousTuesday(new Date(2021, 5 /* Jun */, 6)), new Date(2021, 5 /* Jun */, 1) ) assert.deepStrictEqual( - previoursTuesday(new Date(2021, 5 /* Jun */, 8)), + previousTuesday(new Date(2021, 5 /* Jun */, 8)), new Date(2021, 5 /* Jun */, 1) ) assert.deepStrictEqual( - previoursTuesday(new Date(2021, 5 /* Jun */, 15)), + previousTuesday(new Date(2021, 5 /* Jun */, 15)), new Date(2021, 5 /* Jun */, 8) ) assert.deepStrictEqual( - previoursTuesday(new Date(2021, 5 /* Jun */, 17)), + previousTuesday(new Date(2021, 5 /* Jun */, 17)), new Date(2021, 5 /* Jun */, 15) ) assert.deepStrictEqual( - previoursTuesday(new Date(2021, 5 /* Jun */, 18)), + previousTuesday(new Date(2021, 5 /* Jun */, 18)), new Date(2021, 5 /* Jun */, 15) ) }) it('returns `Invalid Date` if the given date is invalid', function () { - assert(previoursTuesday(new Date(NaN)) instanceof Date) + assert(previousTuesday(new Date(NaN)) instanceof Date) }) }) diff --git a/src/previousWednesday/index.ts b/src/previousWednesday/index.ts old mode 100644 new mode 100755 diff --git a/src/previousWednesday/test.ts b/src/previousWednesday/test.ts old mode 100644 new mode 100755 index 0b2d5fc11a..53f60d3ffd --- a/src/previousWednesday/test.ts +++ b/src/previousWednesday/test.ts @@ -2,43 +2,43 @@ /* eslint-env mocha */ import assert from 'power-assert' -import previoursWednesday from '.' +import previousWednesday from '.' -describe('previoursWednesday', function () { +describe('previousWednesday', function () { it('returns the following Wednesday given various dates after the same', function () { assert.deepStrictEqual( - previoursWednesday(new Date(2021, 5 /* Jun */, 5)), + previousWednesday(new Date(2021, 5 /* Jun */, 5)), new Date(2021, 5 /* Jun */, 2) ) assert.deepStrictEqual( - previoursWednesday(new Date(2021, 5 /* Jun */, 6)), + previousWednesday(new Date(2021, 5 /* Jun */, 6)), new Date(2021, 5 /* Jun */, 2) ) assert.deepStrictEqual( - previoursWednesday(new Date(2021, 5 /* Jun */, 9)), + previousWednesday(new Date(2021, 5 /* Jun */, 9)), new Date(2021, 5 /* Jun */, 2) ) assert.deepStrictEqual( - previoursWednesday(new Date(2021, 5 /* Jun */, 17)), + previousWednesday(new Date(2021, 5 /* Jun */, 17)), new Date(2021, 5 /* Jun */, 16) ) assert.deepStrictEqual( - previoursWednesday(new Date(2021, 5 /* Jun */, 18)), + previousWednesday(new Date(2021, 5 /* Jun */, 18)), new Date(2021, 5 /* Jun */, 16) ) assert.deepStrictEqual( - previoursWednesday(new Date(2021, 5 /* Jun */, 25)), + previousWednesday(new Date(2021, 5 /* Jun */, 25)), new Date(2021, 5 /* Jun */, 23) ) }) it('returns `Invalid Date` if the given date is invalid', function () { - assert(previoursWednesday(new Date(NaN)) instanceof Date) + assert(previousWednesday(new Date(NaN)) instanceof Date) }) }) From 86ef799dba85654fa83c418140eebbaf78cbd4af Mon Sep 17 00:00:00 2001 From: Lucas Silva Date: Mon, 21 Jun 2021 09:33:04 -0300 Subject: [PATCH 3/8] refactoring prevousDay and nextDay functions --- src/previousDay/index.ts | 5 +---- src/previousDay/test.ts | 6 ++---- src/previousMonday/test.ts | 6 ++---- 3 files changed, 5 insertions(+), 12 deletions(-) diff --git a/src/previousDay/index.ts b/src/previousDay/index.ts index 158928b9ce..932a2b68c7 100755 --- a/src/previousDay/index.ts +++ b/src/previousDay/index.ts @@ -1,10 +1,8 @@ import requiredArgs from '../_lib/requiredArgs/index' import getDay from '../getDay' import subDays from '../subDays' -import toDate from '../toDate' import { Day } from '../types' - /** * @name previousDay * @category Weekday Helpers @@ -28,9 +26,8 @@ import { Day } from '../types' * const result = previousDay(new Date(2020, 2, 21), 2) * //=> Tue Mar 17 2020 00:00:00 */ -export default function previousDay(dirtyDate: Date | number, day: Day): Date { +export default function previousDay(date: Date | number, day: Day): Date { requiredArgs(2, arguments) - const date = toDate(dirtyDate) let delta = getDay(date) - day if (delta <= 0) delta += 7 diff --git a/src/previousDay/test.ts b/src/previousDay/test.ts index 0c990a5a93..e8639dceb2 100755 --- a/src/previousDay/test.ts +++ b/src/previousDay/test.ts @@ -1,7 +1,6 @@ -// @flow /* eslint-env mocha */ -import assert from 'power-assert' +import assert from 'assert' import previousDay from '.' describe('previousDay', function () { @@ -35,7 +34,6 @@ describe('previousDay', function () { previousDay(new Date(2021, 5 /* Jun */, 7), 1), new Date(2021, 4 /* May */, 31) ) - }) it('returns the previous Tuesday given the Saturday after it', function () { @@ -73,7 +71,7 @@ describe('previousDay', function () { ) }) - it('returns previous Sunday given the day is Sunday', function () { + it('returns the previous Sunday given the day is Sunday', function () { assert.deepStrictEqual( previousDay(new Date(2021, 5 /* Jun */, 27), 0), new Date(2021, 5 /* Jun */, 20) diff --git a/src/previousMonday/test.ts b/src/previousMonday/test.ts index 211d656480..8d19f0fc24 100755 --- a/src/previousMonday/test.ts +++ b/src/previousMonday/test.ts @@ -1,11 +1,10 @@ -// @flow /* eslint-env mocha */ -import assert from 'power-assert' +import assert from 'assert' import previousMonday from '.' describe('previousMonday', function () { - it('returns the following Monday given various dates after the same', function () { + it('returns the previous Monday given various dates after the same', function () { assert.deepStrictEqual( previousMonday(new Date(2021, 5 /* Jun */, 5)), new Date(2021, 4 /* May */, 31) @@ -35,7 +34,6 @@ describe('previousMonday', function () { previousMonday(new Date(2021, 5 /* Jun */, 16)), new Date(2021, 5 /* Jun */, 14) ) - }) it('returns `Invalid Date` if the given date is invalid', function () { From 8de1be7ba8e8859cf28494796b12594cf638a0c5 Mon Sep 17 00:00:00 2001 From: Tetiana Date: Fri, 30 Jul 2021 13:07:40 +0100 Subject: [PATCH 4/8] Minor changes --- src/previousFriday/test.ts | 6 ++---- src/previousSaturday/test.ts | 6 ++---- src/previousSunday/test.ts | 6 ++---- src/previousThursday/test.ts | 4 +--- src/previousTuesday/test.ts | 6 ++---- src/previousWednesday/test.ts | 6 ++---- 6 files changed, 11 insertions(+), 23 deletions(-) diff --git a/src/previousFriday/test.ts b/src/previousFriday/test.ts index cb9deab8aa..478fe01e47 100755 --- a/src/previousFriday/test.ts +++ b/src/previousFriday/test.ts @@ -1,11 +1,10 @@ -// @flow /* eslint-env mocha */ -import assert from 'power-assert' +import assert from 'assert' import previousFriday from '.' describe('previousFriday', function () { - it('returns the following Friday given various dates after the same', function () { + it('returns the previous Friday given various dates after the same', function () { assert.deepStrictEqual( previousFriday(new Date(2021, 5 /* Jun */, 5)), new Date(2021, 5 /* Jun */, 4) @@ -35,7 +34,6 @@ describe('previousFriday', function () { previousFriday(new Date(2021, 5 /* Jun */, 24)), new Date(2021, 5 /* Jun */, 18) ) - }) it('returns `Invalid Date` if the given date is invalid', function () { diff --git a/src/previousSaturday/test.ts b/src/previousSaturday/test.ts index 0fbbde7e97..6283c31f8e 100755 --- a/src/previousSaturday/test.ts +++ b/src/previousSaturday/test.ts @@ -1,11 +1,10 @@ -// @flow /* eslint-env mocha */ -import assert from 'power-assert' +import assert from 'assert' import previousSaturday from '.' describe('previousSaturday', function () { - it('returns the following Saturday given various dates after the same', function () { + it('returns the previous Saturday given various dates after the same', function () { assert.deepStrictEqual( previousSaturday(new Date(2021, 5 /* Jun */, 7)), new Date(2021, 5 /* Jun */, 5) @@ -35,7 +34,6 @@ describe('previousSaturday', function () { previousSaturday(new Date(2021, 5 /* Jun */, 24)), new Date(2021, 5 /* Jun */, 19) ) - }) it('returns `Invalid Date` if the given date is invalid', function () { diff --git a/src/previousSunday/test.ts b/src/previousSunday/test.ts index ba59999d33..7e5eef945e 100755 --- a/src/previousSunday/test.ts +++ b/src/previousSunday/test.ts @@ -1,11 +1,10 @@ -// @flow /* eslint-env mocha */ -import assert from 'power-assert' +import assert from 'assert' import previousSunday from '.' describe('previousSunday', function () { - it('returns the following Sunday given various dates after the same', function () { + it('returns the previous Sunday given various dates after the same', function () { assert.deepStrictEqual( previousSunday(new Date(2021, 5 /* Jun */, 7)), new Date(2021, 5 /* Jun */, 6) @@ -35,7 +34,6 @@ describe('previousSunday', function () { previousSunday(new Date(2021, 5 /* Jun */, 24)), new Date(2021, 5 /* Jun */, 20) ) - }) it('returns `Invalid Date` if the given date is invalid', function () { diff --git a/src/previousThursday/test.ts b/src/previousThursday/test.ts index a3073b23b4..23fd884ba8 100755 --- a/src/previousThursday/test.ts +++ b/src/previousThursday/test.ts @@ -1,11 +1,10 @@ -// @flow /* eslint-env mocha */ import assert from 'power-assert' import previousThursday from '.' describe('previousThursday', function () { - it('returns the following Thursday given various dates after the same', function () { + it('returns the previous Thursday given various dates after the same', function () { assert.deepStrictEqual( previousThursday(new Date(2021, 5 /* Jun */, 5)), new Date(2021, 5 /* Jun */, 3) @@ -35,7 +34,6 @@ describe('previousThursday', function () { previousThursday(new Date(2021, 5 /* Jun */, 24)), new Date(2021, 5 /* Jun */, 17) ) - }) it('returns `Invalid Date` if the given date is invalid', function () { diff --git a/src/previousTuesday/test.ts b/src/previousTuesday/test.ts index 57f7fa444f..c19a4b67ee 100755 --- a/src/previousTuesday/test.ts +++ b/src/previousTuesday/test.ts @@ -1,11 +1,10 @@ -// @flow /* eslint-env mocha */ -import assert from 'power-assert' +import assert from 'assert' import previousTuesday from '.' describe('previousTuesday', function () { - it('returns the following Tuesday given various dates after the same', function () { + it('returns the previous Tuesday given various dates after the same', function () { assert.deepStrictEqual( previousTuesday(new Date(2021, 5 /* Jun */, 5)), new Date(2021, 5 /* Jun */, 1) @@ -35,7 +34,6 @@ describe('previousTuesday', function () { previousTuesday(new Date(2021, 5 /* Jun */, 18)), new Date(2021, 5 /* Jun */, 15) ) - }) it('returns `Invalid Date` if the given date is invalid', function () { diff --git a/src/previousWednesday/test.ts b/src/previousWednesday/test.ts index 53f60d3ffd..71a57a6000 100755 --- a/src/previousWednesday/test.ts +++ b/src/previousWednesday/test.ts @@ -1,11 +1,10 @@ -// @flow /* eslint-env mocha */ -import assert from 'power-assert' +import assert from 'assert' import previousWednesday from '.' describe('previousWednesday', function () { - it('returns the following Wednesday given various dates after the same', function () { + it('returns the previous Wednesday given various dates after the same', function () { assert.deepStrictEqual( previousWednesday(new Date(2021, 5 /* Jun */, 5)), new Date(2021, 5 /* Jun */, 2) @@ -35,7 +34,6 @@ describe('previousWednesday', function () { previousWednesday(new Date(2021, 5 /* Jun */, 25)), new Date(2021, 5 /* Jun */, 23) ) - }) it('returns `Invalid Date` if the given date is invalid', function () { From f26bf252c62375bd6b5a067219f422a0c9363116 Mon Sep 17 00:00:00 2001 From: Tetiana Date: Fri, 30 Jul 2021 15:10:28 +0100 Subject: [PATCH 5/8] Add minor changes --- src/previousDay/index.ts | 2 +- src/previousThursday/test.ts | 2 +- src/previousTuesday/index.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/previousDay/index.ts b/src/previousDay/index.ts index 932a2b68c7..0db3d69935 100755 --- a/src/previousDay/index.ts +++ b/src/previousDay/index.ts @@ -11,7 +11,7 @@ import { Day } from '../types' * @description * When is the previous day of the week? 0-6 the day of the week, 0 represents Sunday. * - * @param {Date | number} dirtyDate - the date to check + * @param {Date | number} date - the date to check * @param {Day} day - day of the week * @returns {Date} - the date is the previous day of week * @throws {TypeError} - 2 arguments required diff --git a/src/previousThursday/test.ts b/src/previousThursday/test.ts index 23fd884ba8..7b1d0bb1f2 100755 --- a/src/previousThursday/test.ts +++ b/src/previousThursday/test.ts @@ -1,6 +1,6 @@ /* eslint-env mocha */ -import assert from 'power-assert' +import assert from 'assert' import previousThursday from '.' describe('previousThursday', function () { diff --git a/src/previousTuesday/index.ts b/src/previousTuesday/index.ts index af17bccac2..0e12f7bb0f 100755 --- a/src/previousTuesday/index.ts +++ b/src/previousTuesday/index.ts @@ -22,4 +22,4 @@ import toDate from '../toDate/index' export default function previousTuesday(date: Date | number): Date { requiredArgs(1, arguments) return previousDay(toDate(date), 2) -} \ No newline at end of file +} From 56f79cbfc9cf698ac7a97ce59f973091206fb92a Mon Sep 17 00:00:00 2001 From: Tetiana Date: Sat, 31 Jul 2021 00:17:10 +0100 Subject: [PATCH 6/8] Remove toDate --- src/previousFriday/index.ts | 3 +-- src/previousMonday/index.ts | 3 +-- src/previousSaturday/index.ts | 3 +-- src/previousSunday/index.ts | 3 +-- src/previousThursday/index.ts | 3 +-- src/previousTuesday/index.ts | 3 +-- src/previousWednesday/index.ts | 3 +-- 7 files changed, 7 insertions(+), 14 deletions(-) diff --git a/src/previousFriday/index.ts b/src/previousFriday/index.ts index 4e7b0288f3..8321f3ba34 100755 --- a/src/previousFriday/index.ts +++ b/src/previousFriday/index.ts @@ -1,6 +1,5 @@ import requiredArgs from '../_lib/requiredArgs/index' import previousDay from '../previousDay/index' -import toDate from '../toDate/index' /** * @name previousFriday @@ -21,5 +20,5 @@ import toDate from '../toDate/index' */ export default function previousFriday(date: Date | number): Date { requiredArgs(1, arguments) - return previousDay(toDate(date), 5) + return previousDay(date, 5) } diff --git a/src/previousMonday/index.ts b/src/previousMonday/index.ts index ba9e43e3ee..a506de4ae7 100755 --- a/src/previousMonday/index.ts +++ b/src/previousMonday/index.ts @@ -1,6 +1,5 @@ import requiredArgs from '../_lib/requiredArgs/index' import previousDay from '../previousDay/index' -import toDate from '../toDate/index' /** * @name previousMonday @@ -21,5 +20,5 @@ import toDate from '../toDate/index' */ export default function previousMonday(date: Date | number): Date { requiredArgs(1, arguments) - return previousDay(toDate(date), 1) + return previousDay(date, 1) } diff --git a/src/previousSaturday/index.ts b/src/previousSaturday/index.ts index f3a529f44f..9484a77583 100755 --- a/src/previousSaturday/index.ts +++ b/src/previousSaturday/index.ts @@ -1,6 +1,5 @@ import requiredArgs from '../_lib/requiredArgs/index' import previousDay from '../previousDay/index' -import toDate from '../toDate/index' /** * @name previousSaturday @@ -21,5 +20,5 @@ import toDate from '../toDate/index' */ export default function previousSaturday(date: Date | number): Date { requiredArgs(1, arguments) - return previousDay(toDate(date), 6) + return previousDay(date, 6) } diff --git a/src/previousSunday/index.ts b/src/previousSunday/index.ts index 375461287a..ca8bcd29ae 100755 --- a/src/previousSunday/index.ts +++ b/src/previousSunday/index.ts @@ -1,6 +1,5 @@ import requiredArgs from '../_lib/requiredArgs/index' import previousDay from '../previousDay/index' -import toDate from '../toDate/index' /** * @name previousSunday @@ -21,5 +20,5 @@ import toDate from '../toDate/index' */ export default function previousSunday(date: Date | number): Date { requiredArgs(1, arguments) - return previousDay(toDate(date), 0) + return previousDay(date, 0) } diff --git a/src/previousThursday/index.ts b/src/previousThursday/index.ts index 4c6c4909da..ed1693c433 100755 --- a/src/previousThursday/index.ts +++ b/src/previousThursday/index.ts @@ -1,6 +1,5 @@ import requiredArgs from '../_lib/requiredArgs/index' import previousDay from '../previousDay/index' -import toDate from '../toDate/index' /** * @name previousThursday @@ -21,5 +20,5 @@ import toDate from '../toDate/index' */ export default function previousThursday(date: Date | number): Date { requiredArgs(1, arguments) - return previousDay(toDate(date), 4) + return previousDay(date, 4) } diff --git a/src/previousTuesday/index.ts b/src/previousTuesday/index.ts index 0e12f7bb0f..57aa625e10 100755 --- a/src/previousTuesday/index.ts +++ b/src/previousTuesday/index.ts @@ -1,6 +1,5 @@ import requiredArgs from '../_lib/requiredArgs/index' import previousDay from '../previousDay/index' -import toDate from '../toDate/index' /** * @name previousTuesday @@ -21,5 +20,5 @@ import toDate from '../toDate/index' */ export default function previousTuesday(date: Date | number): Date { requiredArgs(1, arguments) - return previousDay(toDate(date), 2) + return previousDay(date, 2) } diff --git a/src/previousWednesday/index.ts b/src/previousWednesday/index.ts index 208603dc67..b1251f0a98 100755 --- a/src/previousWednesday/index.ts +++ b/src/previousWednesday/index.ts @@ -1,6 +1,5 @@ import requiredArgs from '../_lib/requiredArgs/index' import previousDay from '../previousDay/index' -import toDate from '../toDate/index' /** * @name previousWednesday @@ -21,5 +20,5 @@ import toDate from '../toDate/index' */ export default function previousWednesday(date: Date | number): Date { requiredArgs(1, arguments) - return previousDay(toDate(date), 3) + return previousDay(date, 3) } From 87bca8f5d7c5d687bc6d42035f360b476a812b91 Mon Sep 17 00:00:00 2001 From: Tetiana Date: Sat, 11 Sep 2021 19:55:31 +0100 Subject: [PATCH 7/8] Fix Docs, imports --- src/previousDay/index.ts | 6 +++--- src/previousSaturday/index.ts | 2 +- src/previousSunday/index.ts | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/previousDay/index.ts b/src/previousDay/index.ts index 0db3d69935..9c775a6744 100755 --- a/src/previousDay/index.ts +++ b/src/previousDay/index.ts @@ -1,7 +1,7 @@ import requiredArgs from '../_lib/requiredArgs/index' -import getDay from '../getDay' -import subDays from '../subDays' -import { Day } from '../types' +import getDay from '../getDay/index' +import subDays from '../subDays/index' +import type { Day } from '../types' /** * @name previousDay diff --git a/src/previousSaturday/index.ts b/src/previousSaturday/index.ts index 9484a77583..16e4f7350f 100755 --- a/src/previousSaturday/index.ts +++ b/src/previousSaturday/index.ts @@ -16,7 +16,7 @@ import previousDay from '../previousDay/index' * @example * // When is the previous Saturday before Jun, 20, 2021? * const result = previousSaturday(new Date(2021, 5, 20)) - * //=> Fri June 19 2021 00:00:00 + * //=> Sat June 19 2021 00:00:00 */ export default function previousSaturday(date: Date | number): Date { requiredArgs(1, arguments) diff --git a/src/previousSunday/index.ts b/src/previousSunday/index.ts index ca8bcd29ae..a110d9d4e9 100755 --- a/src/previousSunday/index.ts +++ b/src/previousSunday/index.ts @@ -16,7 +16,7 @@ import previousDay from '../previousDay/index' * @example * // When is the previous Sunday before Jun, 21, 2021? * const result = previousSunday(new Date(2021, 5, 21)) - * //=> Fri June 20 2021 00:00:00 + * //=> Sun June 20 2021 00:00:00 */ export default function previousSunday(date: Date | number): Date { requiredArgs(1, arguments) From 2690ef07410f8cd1510e1afa7ecbb926963c9aa6 Mon Sep 17 00:00:00 2001 From: Sasha Koss Date: Thu, 16 Sep 2021 12:55:51 +0800 Subject: [PATCH 8/8] Update src/previousDay/index.ts --- src/previousDay/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/previousDay/index.ts b/src/previousDay/index.ts index 9c775a6744..43d905da45 100755 --- a/src/previousDay/index.ts +++ b/src/previousDay/index.ts @@ -12,7 +12,7 @@ import type { Day } from '../types' * When is the previous day of the week? 0-6 the day of the week, 0 represents Sunday. * * @param {Date | number} date - the date to check - * @param {Day} day - day of the week + * @param {number} day - day of the week * @returns {Date} - the date is the previous day of week * @throws {TypeError} - 2 arguments required *