From 679a0cdef32742c35a2103451523d6982e5f7fcb Mon Sep 17 00:00:00 2001 From: Lucas Silva Date: Tue, 20 Apr 2021 08:51:32 -0300 Subject: [PATCH] creating unit conversios functions --- src/daysToWeeks/index.ts | 30 +++++++++++++++++++++++++++ src/daysToWeeks/test.ts | 12 +++++++++++ src/hoursToMilliseconds/index.ts | 31 ++++++++++++++++++++++++++++ src/hoursToMilliseconds/test.ts | 12 +++++++++++ src/hoursToMinutes/index.ts | 27 ++++++++++++++++++++++++ src/hoursToMinutes/test.ts | 12 +++++++++++ src/hoursToSeconds/index.ts | 27 ++++++++++++++++++++++++ src/hoursToSeconds/test.ts | 12 +++++++++++ src/index.js | 20 ++++++++++++++++++ src/millisecondsToHours/index.ts | 32 +++++++++++++++++++++++++++++ src/millisecondsToHours/test.ts | 12 +++++++++++ src/millisecondsToMinutes/index.ts | 32 +++++++++++++++++++++++++++++ src/millisecondsToMinutes/test.ts | 12 +++++++++++ src/millisecondsToSeconds/index.ts | 33 ++++++++++++++++++++++++++++++ src/millisecondsToSeconds/test.ts | 12 +++++++++++ src/minutesToHours/index.ts | 30 +++++++++++++++++++++++++++ src/minutesToHours/test.ts | 12 +++++++++++ src/minutesToMilliseconds/index.ts | 30 +++++++++++++++++++++++++++ src/minutesToMilliseconds/test.ts | 12 +++++++++++ src/minutesToSeconds/index.ts | 27 ++++++++++++++++++++++++ src/minutesToSeconds/test.ts | 12 +++++++++++ src/monthsToQuarters/index.ts | 31 ++++++++++++++++++++++++++++ src/monthsToQuarters/test.ts | 12 +++++++++++ src/monthsToYears/index.ts | 31 ++++++++++++++++++++++++++++ src/monthsToYears/test.ts | 12 +++++++++++ src/quartersToMonths/index.ts | 27 ++++++++++++++++++++++++ src/quartersToMonths/test.ts | 12 +++++++++++ src/quartersToYears/index.ts | 31 ++++++++++++++++++++++++++++ src/quartersToYears/test.ts | 12 +++++++++++ src/secondsToHours/index.ts | 30 +++++++++++++++++++++++++++ src/secondsToHours/test.ts | 12 +++++++++++ src/secondsToMilliseconds/index.ts | 27 ++++++++++++++++++++++++ src/secondsToMilliseconds/test.ts | 12 +++++++++++ src/secondsToMinutes/index.ts | 30 +++++++++++++++++++++++++++ src/secondsToMinutes/test.ts | 12 +++++++++++ src/weeksToDays/index.ts | 26 +++++++++++++++++++++++ src/weeksToDays/test.ts | 12 +++++++++++ src/yearsToMonths/index.ts | 27 ++++++++++++++++++++++++ src/yearsToMonths/test.ts | 12 +++++++++++ src/yearsToQuarters/index.ts | 24 ++++++++++++++++++++++ src/yearsToQuarters/test.ts | 12 +++++++++++ 41 files changed, 843 insertions(+) create mode 100644 src/daysToWeeks/index.ts create mode 100644 src/daysToWeeks/test.ts create mode 100644 src/hoursToMilliseconds/index.ts create mode 100644 src/hoursToMilliseconds/test.ts create mode 100644 src/hoursToMinutes/index.ts create mode 100644 src/hoursToMinutes/test.ts create mode 100644 src/hoursToSeconds/index.ts create mode 100644 src/hoursToSeconds/test.ts create mode 100644 src/millisecondsToHours/index.ts create mode 100644 src/millisecondsToHours/test.ts create mode 100644 src/millisecondsToMinutes/index.ts create mode 100644 src/millisecondsToMinutes/test.ts create mode 100644 src/millisecondsToSeconds/index.ts create mode 100644 src/millisecondsToSeconds/test.ts create mode 100644 src/minutesToHours/index.ts create mode 100644 src/minutesToHours/test.ts create mode 100644 src/minutesToMilliseconds/index.ts create mode 100644 src/minutesToMilliseconds/test.ts create mode 100644 src/minutesToSeconds/index.ts create mode 100644 src/minutesToSeconds/test.ts create mode 100644 src/monthsToQuarters/index.ts create mode 100644 src/monthsToQuarters/test.ts create mode 100644 src/monthsToYears/index.ts create mode 100644 src/monthsToYears/test.ts create mode 100644 src/quartersToMonths/index.ts create mode 100644 src/quartersToMonths/test.ts create mode 100644 src/quartersToYears/index.ts create mode 100644 src/quartersToYears/test.ts create mode 100644 src/secondsToHours/index.ts create mode 100644 src/secondsToHours/test.ts create mode 100644 src/secondsToMilliseconds/index.ts create mode 100644 src/secondsToMilliseconds/test.ts create mode 100644 src/secondsToMinutes/index.ts create mode 100644 src/secondsToMinutes/test.ts create mode 100644 src/weeksToDays/index.ts create mode 100644 src/weeksToDays/test.ts create mode 100644 src/yearsToMonths/index.ts create mode 100644 src/yearsToMonths/test.ts create mode 100644 src/yearsToQuarters/index.ts create mode 100644 src/yearsToQuarters/test.ts diff --git a/src/daysToWeeks/index.ts b/src/daysToWeeks/index.ts new file mode 100644 index 0000000000..b3bfef8436 --- /dev/null +++ b/src/daysToWeeks/index.ts @@ -0,0 +1,30 @@ +import requiredArgs from '../_lib/requiredArgs/index' +/** + * @name daysToWeeks + * @category Common Helpers + * @summary Convert days to weeks. + * + * @description + * Convert days number to weeks numbers. + * + * @param { number } days - number of days to be converted. + * + * @returns {number} the number of days converted in weeks + * @throws {TypeError} 1 argument required + * + * @example + * //Converting 14 days to weeks + * const result = daysToWeeks(14) => 2 + */ + +export default function daysToWeeks( + days: number, + +): number { + requiredArgs(1, arguments); + + const weeks = days/7; + const weeksRounded = Number(Math.round(Number(weeks + "e" + 2)) + "e" + 2 * -1); //Precision of 2 in decimals + + return weeksRounded; +} diff --git a/src/daysToWeeks/test.ts b/src/daysToWeeks/test.ts new file mode 100644 index 0000000000..ffd50489b5 --- /dev/null +++ b/src/daysToWeeks/test.ts @@ -0,0 +1,12 @@ +// @flow +/* eslint-env mocha */ + +import assert from 'assert' +import daysToWeeks from '.' + +describe('daysToWeeks', function() { + it('converts days to weeks', function() { + const result = daysToWeeks(14); + assert.deepStrictEqual(result, 2) + }); +}); diff --git a/src/hoursToMilliseconds/index.ts b/src/hoursToMilliseconds/index.ts new file mode 100644 index 0000000000..fcd38d9b8e --- /dev/null +++ b/src/hoursToMilliseconds/index.ts @@ -0,0 +1,31 @@ +import requiredArgs from '../_lib/requiredArgs/index' +/** + * @name hoursToMilliseconds + * @category Common Helpers + * @summary Convert hours to milliseconds. + * + * @description + * Convert hours number to milliseconds numbers. + * + * @param { number } hours - number of hours to be converted. + * + * @returns {number} the number of hours converted in milliseconds + * @throws {TypeError} 1 argument required + * + * @example + * //Converting 2 hours to milliseconds + * const result = hoursToMilliseconds(2) => 7,200,000 + */ + +export default function hoursToMilliseconds( + hours: number, + +): number { + requiredArgs(1, arguments); + + const MILLISECONDS_IN_1HOUR = 3600000; + + const milliseconds = hours * MILLISECONDS_IN_1HOUR; + + return milliseconds; +} diff --git a/src/hoursToMilliseconds/test.ts b/src/hoursToMilliseconds/test.ts new file mode 100644 index 0000000000..4a2f58db07 --- /dev/null +++ b/src/hoursToMilliseconds/test.ts @@ -0,0 +1,12 @@ +// @flow +/* eslint-env mocha */ + +import assert from 'assert' +import hoursToMilliseconds from '.' + +describe('hoursToMilliseconds', function() { + it('converts hours to milliseconds', function() { + const result = hoursToMilliseconds(2); + assert.deepStrictEqual(result, 7200000) + }); +}); diff --git a/src/hoursToMinutes/index.ts b/src/hoursToMinutes/index.ts new file mode 100644 index 0000000000..b714d836bb --- /dev/null +++ b/src/hoursToMinutes/index.ts @@ -0,0 +1,27 @@ +import requiredArgs from '../_lib/requiredArgs/index' +/** + * @name hoursToMinutes + * @category Common Helpers + * @summary Convert hours to minutes. + * + * @description + * Convert hours number to minutes numbers. + * + * @param { number } hours - number of hours to be converted. + * + * @returns {number} the number of hours converted in minutes + * @throws {TypeError} 1 argument required + * + * @example + * //Converting 2 hours to minutes + * const result = hoursToMinutes(2) => 120 + */ + +export default function hoursToMinutes( + hours: number, + +): number { + requiredArgs(1, arguments); + + return hours*60; +} diff --git a/src/hoursToMinutes/test.ts b/src/hoursToMinutes/test.ts new file mode 100644 index 0000000000..65fb40884c --- /dev/null +++ b/src/hoursToMinutes/test.ts @@ -0,0 +1,12 @@ +// @flow +/* eslint-env mocha */ + +import assert from 'assert' +import hoursToMinutes from '.' + +describe('hoursToMinutes', function() { + it('converts hours to minutes', function() { + const result = hoursToMinutes(2); + assert.deepStrictEqual(result, 120) + }); +}); diff --git a/src/hoursToSeconds/index.ts b/src/hoursToSeconds/index.ts new file mode 100644 index 0000000000..300606f4ce --- /dev/null +++ b/src/hoursToSeconds/index.ts @@ -0,0 +1,27 @@ +import requiredArgs from '../_lib/requiredArgs/index' +/** + * @name hoursToSeconds + * @category Common Helpers + * @summary Convert hours to seconds. + * + * @description + * Convert hours number to seconds numbers. + * + * @param { number } hours - number of hours to be converted. + * + * @returns {number} the number of hours converted in seconds + * @throws {TypeError} 1 argument required + * + * @example + * //Converting 2 hours to seconds + * const result = hoursToSeconds(2) => 7200 + */ + +export default function hoursToSeconds( + hours: number, + +): number { + requiredArgs(1, arguments); + + return hours * 3600; +} diff --git a/src/hoursToSeconds/test.ts b/src/hoursToSeconds/test.ts new file mode 100644 index 0000000000..48dce03f3a --- /dev/null +++ b/src/hoursToSeconds/test.ts @@ -0,0 +1,12 @@ +// @flow +/* eslint-env mocha */ + +import assert from 'assert' +import hoursToSeconds from '.' + +describe('hoursToSeconds', function() { + it('converts hours to minutes', function() { + const result = hoursToSeconds(2); + assert.deepStrictEqual(result, 7200) + }); +}); diff --git a/src/index.js b/src/index.js index b3c6e50c6b..9640ef760d 100644 --- a/src/index.js +++ b/src/index.js @@ -206,4 +206,24 @@ export { default as subSeconds } from './subSeconds/index' export { default as subWeeks } from './subWeeks/index' export { default as subYears } from './subYears/index' export { default as toDate } from './toDate/index' +export { default as daysToWeeks } from './daysToWeeks/index' +export { default as hoursToMilliseconds } from './hoursToMilliseconds/index' +export { default as hoursToMinutes } from './hoursToMinutes/index' +export { default as hoursToSeconds } from './hoursToSeconds/index' +export { default as millisecondsToHours } from './millisecondsToHours/index' +export { default as millisecondsToMinutes } from './millisecondsToMinutes/index' +export { default as millisecondsToSeconds } from './millisecondsToSeconds/index' +export { default as minutesToHours } from './minutesToHours/index' +export { default as minutesToMilliseconds } from './minutesToMilliseconds/index' +export { default as minutesToSeconds } from './minutesToSeconds/index' +export { default as monthsToQuarters } from './monthsToQuarters/index' +export { default as monthsToYears } from './monthsToYears/index' +export { default as quartersToMonths } from './quartersToMonths/index' +export { default as quartersToYears } from './quartersToYears/index' +export { default as secondsToHours } from './secondsToHours/index' +export { default as secondsToMilliseconds } from './secondsToMilliseconds/index' +export { default as secondsToMinutes } from './secondsToMinutes/index' +export { default as weeksToDays } from './weeksToDays/index' +export { default as yearsToMonths } from './yearsToMonths/index' +export { default as yearsToQuarters } from './yearsToQuarters/index' export * from './constants/index' diff --git a/src/millisecondsToHours/index.ts b/src/millisecondsToHours/index.ts new file mode 100644 index 0000000000..f639d5cf72 --- /dev/null +++ b/src/millisecondsToHours/index.ts @@ -0,0 +1,32 @@ +import requiredArgs from '../_lib/requiredArgs/index' +/** + * @name millisecondsToHours + * @category Common Helpers + * @summary Convert milliseconds to hours. + * + * @description + * Convert milliseconds number to hours numbers. + * + * @param { number } milliseconds - number of milliseconds to be converted. + * + * @returns {number} the number of milliseconds converted in hours + * @throws {TypeError} 1 argument required + * + * @example + * //Converting 720000 milliseconds to hours + * const result = millisecondsToHours(7200000) => 2 + */ + +export default function millisecondsToHours( + milliseconds: number, + +): number { + requiredArgs(1, arguments); + + const MILLISECONDS_IN_1HOUR = 3600000; + + const hours = milliseconds/MILLISECONDS_IN_1HOUR; + const hoursRounded = Number(Math.round(Number(hours + "e" + 3)) + "e" + 3 * -1); //Precision of 3 in decimals + + return hoursRounded; +} diff --git a/src/millisecondsToHours/test.ts b/src/millisecondsToHours/test.ts new file mode 100644 index 0000000000..1ba5f97f7b --- /dev/null +++ b/src/millisecondsToHours/test.ts @@ -0,0 +1,12 @@ +// @flow +/* eslint-env mocha */ + +import assert from 'assert' +import millisecondsToHours from '.' + +describe('millisecondsToHours', function() { + it('converts milliseconds to hours', function() { + const result = millisecondsToHours(7200000); + assert.deepStrictEqual(result, 2) + }); +}); diff --git a/src/millisecondsToMinutes/index.ts b/src/millisecondsToMinutes/index.ts new file mode 100644 index 0000000000..7094c6f851 --- /dev/null +++ b/src/millisecondsToMinutes/index.ts @@ -0,0 +1,32 @@ +import requiredArgs from '../_lib/requiredArgs/index' +/** + * @name millisecondsToMinutes + * @category Common Helpers + * @summary Convert milliseconds to minutes. + * + * @description + * //Converting milliseconds number to minutes numbers. + * + * @param { number } milliseconds - number of milliseconds to be converted. + * + * @returns {number} the number of milliseconds converted in minutes + * @throws {TypeError} 1 argument required + * + * @example + * //Converting 60000 milliseconds to minutes + * const result = millisecondsToMinutes(60000) => 1 + */ + +export default function millisecondsToMinutes( + milliseconds: number, + +): number { + requiredArgs(1, arguments); + + const MILLISECONDS_IN_1MINUTE = 60000; + + const minutes = milliseconds/MILLISECONDS_IN_1MINUTE; + const minutesRounded = Number(Math.round(Number(minutes + "e" + 3)) + "e" + 3 * -1); //Precision of 3 in decimals + + return minutesRounded; +} diff --git a/src/millisecondsToMinutes/test.ts b/src/millisecondsToMinutes/test.ts new file mode 100644 index 0000000000..356e1d31fa --- /dev/null +++ b/src/millisecondsToMinutes/test.ts @@ -0,0 +1,12 @@ +// @flow +/* eslint-env mocha */ + +import assert from 'assert' +import millisecondsToMinutes from '.' + +describe('millisecondsToMinutes', function() { + it('converts milliseconds to minutes', function() { + const result = millisecondsToMinutes(120000); + assert.deepStrictEqual(result, 2) + }); +}); diff --git a/src/millisecondsToSeconds/index.ts b/src/millisecondsToSeconds/index.ts new file mode 100644 index 0000000000..725ca64474 --- /dev/null +++ b/src/millisecondsToSeconds/index.ts @@ -0,0 +1,33 @@ +import requiredArgs from '../_lib/requiredArgs/index' +/** + * @name millisecondsToSeconds + * @category Common Helpers + * @summary Convert milliseconds to seconds. + * + * @description + * Convert milliseconds number to seconds numbers. + * + * @param { number } milliseconds - number of milliseconds to be converted. + * + * @returns {number} the number of milliseconds converted in seconds + * @throws {TypeError} 1 argument required + * + * @example + * //Converting 1000 miliseconds to seconds + * const result = millisecondsToSeconds(1000) => 1 + */ + +export default function millisecondsToSeconds( + milliseconds: number, + +): number { + requiredArgs(1, arguments); + + const MILLISECONDS_IN_1SECOND = 1000; + + const seconds = milliseconds/MILLISECONDS_IN_1SECOND; + + const secondsRounded = Number(Math.round(Number(seconds + "e" + 3)) + "e" + 3 * -1); //Precision of 3 in decimals + + return secondsRounded; +} diff --git a/src/millisecondsToSeconds/test.ts b/src/millisecondsToSeconds/test.ts new file mode 100644 index 0000000000..b128c49b24 --- /dev/null +++ b/src/millisecondsToSeconds/test.ts @@ -0,0 +1,12 @@ +// @flow +/* eslint-env mocha */ + +import assert from 'assert' +import millisecondsToSeconds from '.' + +describe('millisecondsToSeconds', function() { + it('converts milliseconds to seconds', function() { + const result = millisecondsToSeconds(3000); + assert.deepStrictEqual(result, 3) + }); +}); diff --git a/src/minutesToHours/index.ts b/src/minutesToHours/index.ts new file mode 100644 index 0000000000..e8df34dfd2 --- /dev/null +++ b/src/minutesToHours/index.ts @@ -0,0 +1,30 @@ +import requiredArgs from '../_lib/requiredArgs/index' +/** + * @name minutesToHours + * @category Common Helpers + * @summary Convert minutes to hours. + * + * @description + * Convert minutes number to hours numbers. + * + * @param { number } minutes - number of minutes to be converted. + * + * @returns {number} the number of minutes converted in hours + * @throws {TypeError} 1 argument required + * + * @example + * //Converting 140 minutes to hours + * const result = minutesToHours(140) => 2.3 + */ + +export default function minutesToHours( + minutes: number, + +): number { + requiredArgs(1, arguments); + + const hours = minutes/60; + const hoursRounded = Number(Math.round(Number(hours + "e" + 2)) + "e" + 2 * -1); //Precision of 2 in decimals + + return hoursRounded; +} diff --git a/src/minutesToHours/test.ts b/src/minutesToHours/test.ts new file mode 100644 index 0000000000..41bb767b64 --- /dev/null +++ b/src/minutesToHours/test.ts @@ -0,0 +1,12 @@ +// @flow +/* eslint-env mocha */ + +import assert from 'assert' +import minuteToHours from '.' + +describe('minuteToHours', function() { + it('converts minutes to hours', function() { + const result = minuteToHours(140); + assert.deepStrictEqual(result, 2.33) + }); +}); diff --git a/src/minutesToMilliseconds/index.ts b/src/minutesToMilliseconds/index.ts new file mode 100644 index 0000000000..2fcad54291 --- /dev/null +++ b/src/minutesToMilliseconds/index.ts @@ -0,0 +1,30 @@ +import requiredArgs from '../_lib/requiredArgs/index' +/** + * @name minutesToMilliseconds + * @category Common Helpers + * @summary Convert minutes to milliseconds. + * + * @description + * Convert minutes number to milliseconds numbers. + * + * @param { number } minutes - number of minutes to be converted. + * + * @returns {number} the number of minutes converted in milliseconds + * @throws {TypeError} 1 argument required + * + * @example + * //Converting 2 minutes to milliseconds + * const result = minutesToMilliseconds(2) => 120000 + */ + +export default function minutesToMilliseconds( + minutes: number, + +): number { + requiredArgs(1, arguments); + + const MILLISECONDS_IN_1MINUTE = 60000; + + return minutes * MILLISECONDS_IN_1MINUTE; + +} diff --git a/src/minutesToMilliseconds/test.ts b/src/minutesToMilliseconds/test.ts new file mode 100644 index 0000000000..a00348d34a --- /dev/null +++ b/src/minutesToMilliseconds/test.ts @@ -0,0 +1,12 @@ +// @flow +/* eslint-env mocha */ + +import assert from 'assert' +import minutesToMilliseconds from '.' + +describe('minutesToMilliseconds', function() { + it('converts minutes to milliseconds', function() { + const result = minutesToMilliseconds(2); + assert.deepStrictEqual(result, 120000) + }); +}); diff --git a/src/minutesToSeconds/index.ts b/src/minutesToSeconds/index.ts new file mode 100644 index 0000000000..61871a70b6 --- /dev/null +++ b/src/minutesToSeconds/index.ts @@ -0,0 +1,27 @@ +import requiredArgs from '../_lib/requiredArgs/index' +/** + * @name minutesToSeconds + * @category Common Helpers + * @summary Convert minutes to seconds. + * + * @description + * Convert minutes number to seconds numbers. + * + * @param { number } minutes - number of minutes to be converted. + * + * @returns {number} the number of minutes converted in seconds + * @throws {TypeError} 1 argument required + * + * @example + * //Converting 2 minutes to seconds + * const result = minutesToSeconds(2) => 120 + */ + +export default function minutesToSeconds( + minutes: number, + +): number { + requiredArgs(1, arguments); + + return minutes*60; +} diff --git a/src/minutesToSeconds/test.ts b/src/minutesToSeconds/test.ts new file mode 100644 index 0000000000..8d5edaba05 --- /dev/null +++ b/src/minutesToSeconds/test.ts @@ -0,0 +1,12 @@ +// @flow +/* eslint-env mocha */ + +import assert from 'assert' +import minutesToSeconds from '.' + +describe('minutesToSeconds', function() { + it('converts minutes to seconds', function() { + const result = minutesToSeconds(2); + assert.deepStrictEqual(result, 120) + }); +}); diff --git a/src/monthsToQuarters/index.ts b/src/monthsToQuarters/index.ts new file mode 100644 index 0000000000..07fee2ad25 --- /dev/null +++ b/src/monthsToQuarters/index.ts @@ -0,0 +1,31 @@ +import requiredArgs from '../_lib/requiredArgs/index' +/** + * @name monthsToQuarters + * @category Common Helpers + * @summary Convert number of months to quarters. + * + * @description + * Convert number of months to quarters. + * + * @param { number } months - number of months to be converted. + * + * @returns {number} the number of months converted in quarters + * @throws {TypeError} 1 argument required + * + * @example + * //Converting 6 months to quarters + * const result = monthsToQuarters(6) => 2 + */ + +export default function monthsToQuarters( + months: number, + +): number { + requiredArgs(1, arguments); + + const quarters = months/3; + + const quartersRounded = Number(Math.round(Number(quarters + "e" + 2)) + "e" + 2 * -1); //Precision of 2 in decimals + + return quartersRounded; +} diff --git a/src/monthsToQuarters/test.ts b/src/monthsToQuarters/test.ts new file mode 100644 index 0000000000..c3ef533c7f --- /dev/null +++ b/src/monthsToQuarters/test.ts @@ -0,0 +1,12 @@ +// @flow +/* eslint-env mocha */ + +import assert from 'assert' +import monthsToQuarters from '.' + +describe('monthsToQuarters', function() { + it('converts months to quarters', function() { + const result = monthsToQuarters(6); + assert.deepStrictEqual(result, 2) + }); +}); diff --git a/src/monthsToYears/index.ts b/src/monthsToYears/index.ts new file mode 100644 index 0000000000..28c1f973dd --- /dev/null +++ b/src/monthsToYears/index.ts @@ -0,0 +1,31 @@ +import requiredArgs from '../_lib/requiredArgs/index' +/** + * @name monthsToYears + * @category Common Helpers + * @summary Convert number of months to years. + * + * @description + * Convert number of months to years. + * + * @param { number } months - number of months to be converted. + * + * @returns {number} the number of months converted in years + * @throws {TypeError} 1 argument required + * + * @example + * //Converting 40 months to years + * const result = monthsToYears(40) => 3.33 + */ + +export default function monthsToYears( + months: number, + +): number { + requiredArgs(1, arguments); + + const years = months/12; + + const yearsRounded = Number(Math.round(Number(years + "e" + 2)) + "e" + 2 * -1); //Precision of 2 in decimals + + return yearsRounded; +} diff --git a/src/monthsToYears/test.ts b/src/monthsToYears/test.ts new file mode 100644 index 0000000000..91de0e5f1e --- /dev/null +++ b/src/monthsToYears/test.ts @@ -0,0 +1,12 @@ +// @flow +/* eslint-env mocha */ + +import assert from 'assert' +import monthsToYears from '.' + +describe('monthsToYears', function() { + it('converts months to year', function() { + const result = monthsToYears(40); + assert.deepStrictEqual(result, 3.33) + }); +}); diff --git a/src/quartersToMonths/index.ts b/src/quartersToMonths/index.ts new file mode 100644 index 0000000000..b7a7f485c4 --- /dev/null +++ b/src/quartersToMonths/index.ts @@ -0,0 +1,27 @@ +import requiredArgs from '../_lib/requiredArgs/index' +/** + * @name quartersToMonths + * @category Common Helpers + * @summary Convert number of quarters to months. + * + * @description + * Convert number of quarters to months. + * + * @param { number } quarters - number of quarters to be converted. + * + * @returns {number} the number of quarters converted in months + * @throws {TypeError} 1 argument required + * + * @example + * //Converting 2 quarters to months + * const result = quartersToMonths(2) => 6 + */ + +export default function quartersToMonths( + quarters: number, + +): number { + requiredArgs(1, arguments); + + return quarters*3; +} diff --git a/src/quartersToMonths/test.ts b/src/quartersToMonths/test.ts new file mode 100644 index 0000000000..023ecf1e16 --- /dev/null +++ b/src/quartersToMonths/test.ts @@ -0,0 +1,12 @@ +// @flow +/* eslint-env mocha */ + +import assert from 'assert' +import quartersToMonths from '.' + +describe('quartersToMonths', function() { + it('converts quarters to months', function() { + const result = quartersToMonths(2); + assert.deepStrictEqual(result, 6) + }); +}); diff --git a/src/quartersToYears/index.ts b/src/quartersToYears/index.ts new file mode 100644 index 0000000000..b3169b8df7 --- /dev/null +++ b/src/quartersToYears/index.ts @@ -0,0 +1,31 @@ +import requiredArgs from '../_lib/requiredArgs/index' +/** + * @name quartersToYears + * @category Common Helpers + * @summary Convert number of quarters to years. + * + * @description + * Convert number of quarters to years. + * + * @param { number } quarters - number of quarters to be converted. + * + * @returns {number} the number of quarters converted in years + * @throws {TypeError} 1 argument required + * + * @example + * //Converting 8 quarters to years + * const result = quartersToYears(8) => 2 + */ + +export default function quartersToYears( + quarters: number, + +): number { + requiredArgs(1, arguments); + + const years = quarters/4; + + const yearsRounded = Number(Math.round(Number(years + "e" + 2)) + "e" + 2 * -1); //Precision of 2 in decimals + + return yearsRounded; +} diff --git a/src/quartersToYears/test.ts b/src/quartersToYears/test.ts new file mode 100644 index 0000000000..1ddae33689 --- /dev/null +++ b/src/quartersToYears/test.ts @@ -0,0 +1,12 @@ +// @flow +/* eslint-env mocha */ + +import assert from 'assert' +import quartersToYears from '.' + +describe('quartersToYears', function() { + it('converts quarters to years', function() { + const result = quartersToYears(4); + assert.deepStrictEqual(result, 1) + }); +}); diff --git a/src/secondsToHours/index.ts b/src/secondsToHours/index.ts new file mode 100644 index 0000000000..36aeae4320 --- /dev/null +++ b/src/secondsToHours/index.ts @@ -0,0 +1,30 @@ +import requiredArgs from '../_lib/requiredArgs/index' +/** + * @name secondsToHours + * @category Common Helpers + * @summary Convert seconds to hours. + * + * @description + * Convert seconds number to hours numbers. + * + * @param { number } seconds - number of seconds to be converted. + * + * @returns {number} the number of seconds converted in hours + * @throws {TypeError} 1 argument required + * + * @example + * //Converting 7200 seconds into hours + * const result = secondsToHours(7200) => 2 + */ + +export default function secondsToHours( + seconds: number, + +): number { + requiredArgs(1, arguments); + + const hours = seconds/3600; + const hoursRounded = Number(Math.round(Number(hours + "e" + 3)) + "e" + 3 * -1); //Precision of 3 in decimals + + return hoursRounded; +} diff --git a/src/secondsToHours/test.ts b/src/secondsToHours/test.ts new file mode 100644 index 0000000000..cd9bb8770d --- /dev/null +++ b/src/secondsToHours/test.ts @@ -0,0 +1,12 @@ +// @flow +/* eslint-env mocha */ + +import assert from 'assert' +import secondsToHours from '.' + +describe('secondsToHours', function() { + it('converts seconds to hours', function() { + const result = secondsToHours(7200); + assert.deepStrictEqual(result, 2) + }); +}); diff --git a/src/secondsToMilliseconds/index.ts b/src/secondsToMilliseconds/index.ts new file mode 100644 index 0000000000..9f35df1a47 --- /dev/null +++ b/src/secondsToMilliseconds/index.ts @@ -0,0 +1,27 @@ +import requiredArgs from '../_lib/requiredArgs/index' +/** + * @name secondsToMilliseconds + * @category Common Helpers + * @summary Convert seconds to milliseconds. + * + * @description + * Convert seconds number to milliseconds numbers. + * + * @param { number } seconds - number of seconds to be converted. + * + * @returns {number} the number of seconds converted in milliseconds + * @throws {TypeError} 1 argument required + * + * @example + * //Converting 2 seconds into milliseconds + * const result = secondsToMilliseconds(2) => 2000 + */ + +export default function secondsToMilliseconds( + seconds: number, + +): number { + requiredArgs(1, arguments); + + return seconds*1000; +} diff --git a/src/secondsToMilliseconds/test.ts b/src/secondsToMilliseconds/test.ts new file mode 100644 index 0000000000..3d8a65d29d --- /dev/null +++ b/src/secondsToMilliseconds/test.ts @@ -0,0 +1,12 @@ +// @flow +/* eslint-env mocha */ + +import assert from 'assert' +import secondsToMilliseconds from '.' + +describe('secondsToMilliseconds', function() { + it('converts seconds to milliseconds', function() { + const result = secondsToMilliseconds(2); + assert.deepStrictEqual(result, 2000) + }); +}); diff --git a/src/secondsToMinutes/index.ts b/src/secondsToMinutes/index.ts new file mode 100644 index 0000000000..ff7c3af380 --- /dev/null +++ b/src/secondsToMinutes/index.ts @@ -0,0 +1,30 @@ +import requiredArgs from '../_lib/requiredArgs/index' +/** + * @name secondsToMinutes + * @category Common Helpers + * @summary Convert seconds to minutes. + * + * @description + * Convert seconds number to minutes numbers. + * + * @param { number } seconds - number of seconds to be converted. + * + * @returns {number} the number of seconds converted in minutes + * @throws {TypeError} 1 argument required + * + * @example + * //Converting 120 seconds into minutes + * const result = secondsToMinutes(120) => 2 + */ + +export default function secondsToMinutes( + seconds: number, + +): number { + requiredArgs(1, arguments); + + const minutes = seconds/60; + const minutesRounded = Number(Math.round(Number(minutes + "e" + 3)) + "e" + 3 * -1); //Precision of 3 in decimals + + return minutesRounded; +} diff --git a/src/secondsToMinutes/test.ts b/src/secondsToMinutes/test.ts new file mode 100644 index 0000000000..e5a6230152 --- /dev/null +++ b/src/secondsToMinutes/test.ts @@ -0,0 +1,12 @@ +// @flow +/* eslint-env mocha */ + +import assert from 'assert' +import secondsToMinutes from '.' + +describe('secondsToMinutes', function() { + it('converts seconds to minutes', function() { + const result = secondsToMinutes(120); + assert.deepStrictEqual(result, 2) + }); +}); diff --git a/src/weeksToDays/index.ts b/src/weeksToDays/index.ts new file mode 100644 index 0000000000..e25cec6618 --- /dev/null +++ b/src/weeksToDays/index.ts @@ -0,0 +1,26 @@ +import requiredArgs from '../_lib/requiredArgs/index' +/** + * @name weeksToDays + * @category Common Helpers + * @summary Convert weeks to days. + * + * @description + * Convert weeks number to days numbers. + * + * @param { number } weeks - number of days to be converted. + * + * @returns {number} the number of weeks converted in days + * @throws {TypeError} 1 argument required + * + * @example + * const result = weeksToDays(2) => 14 + */ + +export default function weeksToDays( + weeks: number, + +): number { + requiredArgs(1, arguments); + + return weeks*7; +} diff --git a/src/weeksToDays/test.ts b/src/weeksToDays/test.ts new file mode 100644 index 0000000000..4f09370268 --- /dev/null +++ b/src/weeksToDays/test.ts @@ -0,0 +1,12 @@ +// @flow +/* eslint-env mocha */ + +import assert from 'assert' +import weeksToDays from '.' + +describe('weeksToDays', function() { + it('converts weeks to days', function() { + const result = weeksToDays(2); + assert.deepStrictEqual(result, 14) + }); +}); diff --git a/src/yearsToMonths/index.ts b/src/yearsToMonths/index.ts new file mode 100644 index 0000000000..9a818900bb --- /dev/null +++ b/src/yearsToMonths/index.ts @@ -0,0 +1,27 @@ +import requiredArgs from '../_lib/requiredArgs/index' +/** + * @name yearsToMonths + * @category Common Helpers + * @summary Convert year to months. + * + * @description + * Convert years number to months numbers. + * + * @param { number } years - number of months to be converted. + * + * @returns {number} the number of years converted in months + * @throws {TypeError} 1 argument required + * + * @example + * //Converting 2 years into months + * const result = yearsToMonths(2) => 24 + */ + +export default function yearsToMonths( + years: number, + +): number { + requiredArgs(1, arguments); + + return years*12; +} diff --git a/src/yearsToMonths/test.ts b/src/yearsToMonths/test.ts new file mode 100644 index 0000000000..3956d936b3 --- /dev/null +++ b/src/yearsToMonths/test.ts @@ -0,0 +1,12 @@ +// @flow +/* eslint-env mocha */ + +import assert from 'assert' +import yearsToMonths from '.' + +describe('yearsToMonths', function() { + it('converts years to months', function() { + const result = yearsToMonths(2); + assert.deepStrictEqual(result, 24) + }); +}); diff --git a/src/yearsToQuarters/index.ts b/src/yearsToQuarters/index.ts new file mode 100644 index 0000000000..e2a905c439 --- /dev/null +++ b/src/yearsToQuarters/index.ts @@ -0,0 +1,24 @@ +import requiredArgs from '../_lib/requiredArgs/index' +/** + * @name yearsToQuarters + * @category Common Helpers + * @summary Convert years to quarters. + * + * @description + * Convert number of years to quarters. + * + * @param { number } years - number of years to be converted. + * + * @returns {number} the number of years converted in quarters + * @throws {TypeError} 1 argument required + * + * @example + * //Convertinging 1 year to quarters + * const result = yearsToQuarters(2) => 8 + */ + +export default function yearsToQuarters(years: number): number { + requiredArgs(1, arguments); + + return years*4; +} diff --git a/src/yearsToQuarters/test.ts b/src/yearsToQuarters/test.ts new file mode 100644 index 0000000000..4d8c183ab0 --- /dev/null +++ b/src/yearsToQuarters/test.ts @@ -0,0 +1,12 @@ +// @flow +/* eslint-env mocha */ + +import assert from 'assert' +import yearsToQuarters from '.' + +describe('yearsToQuarters', function() { + it('converts years to quarters', function() { + const result = yearsToQuarters(2); + assert.deepStrictEqual(result, 8) + }); +});