From 9979af7f303731221194584c7d12037d7041f392 Mon Sep 17 00:00:00 2001 From: Lesha Kostiuchenko Date: Fri, 25 May 2018 17:13:53 +0200 Subject: [PATCH] Clean number arguments using custom toInteger implementation --- src/_lib/addUTCMinutes/index.js | 3 ++- src/_lib/getUTCWeekYear/index.js | 5 +++-- src/_lib/setUTCDay/index.js | 7 ++++--- src/_lib/setUTCISODay/index.js | 3 ++- src/_lib/setUTCISOWeek/index.js | 3 ++- src/_lib/setUTCWeek/index.js | 3 ++- src/_lib/startOfUTCWeek/index.js | 5 +++-- src/_lib/startOfUTCWeekYear/index.js | 5 +++-- src/_lib/toInteger/index.js | 9 +++++++++ src/_lib/toInteger/test.js | 27 +++++++++++++++++++++++++++ src/addDays/index.js | 3 ++- src/addHours/index.js | 3 ++- src/addISOWeekYears/index.js | 3 ++- src/addMilliseconds/index.js | 3 ++- src/addMinutes/index.js | 3 ++- src/addMonths/index.js | 3 ++- src/addQuarters/index.js | 3 ++- src/addSeconds/index.js | 3 ++- src/addWeeks/index.js | 3 ++- src/addYears/index.js | 3 ++- src/endOfWeek/index.js | 5 +++-- src/format/index.js | 9 +++++---- src/getWeekOfMonth/index.js | 5 +++-- src/getWeekYear/index.js | 5 +++-- src/lastDayOfWeek/index.js | 5 +++-- src/parse/index.js | 9 +++++---- src/setDate/index.js | 3 ++- src/setDay/index.js | 7 ++++--- src/setDayOfYear/index.js | 3 ++- src/setHours/index.js | 3 ++- src/setISODay/index.js | 3 ++- src/setISOWeek/index.js | 3 ++- src/setISOWeekYear/index.js | 3 ++- src/setMilliseconds/index.js | 3 ++- src/setMinutes/index.js | 3 ++- src/setMonth/index.js | 3 ++- src/setQuarter/index.js | 3 ++- src/setSeconds/index.js | 3 ++- src/setWeek/index.js | 3 ++- src/setWeekYear/index.js | 7 ++++--- src/setYear/index.js | 3 ++- src/startOfWeek/index.js | 5 +++-- src/startOfWeekYear/index.js | 5 +++-- src/subDays/index.js | 3 ++- src/subHours/index.js | 3 ++- src/subISOWeekYears/index.js | 3 ++- src/subMilliseconds/index.js | 3 ++- src/subMinutes/index.js | 3 ++- src/subMonths/index.js | 3 ++- src/subQuarters/index.js | 3 ++- src/subSeconds/index.js | 3 ++- src/subWeeks/index.js | 3 ++- src/subYears/index.js | 3 ++- src/toDate/index.js | 4 +++- 54 files changed, 162 insertions(+), 73 deletions(-) create mode 100644 src/_lib/toInteger/index.js create mode 100644 src/_lib/toInteger/test.js diff --git a/src/_lib/addUTCMinutes/index.js b/src/_lib/addUTCMinutes/index.js index 17abdb5521..f4d7d651f0 100644 --- a/src/_lib/addUTCMinutes/index.js +++ b/src/_lib/addUTCMinutes/index.js @@ -1,3 +1,4 @@ +import toInteger from '../toInteger/index.js' import toDate from '../../toDate/index.js' // This function will be a part of public API when UTC function will be implemented. @@ -8,7 +9,7 @@ export default function addUTCMinutes (dirtyDate, dirtyAmount, dirtyOptions) { } var date = toDate(dirtyDate, dirtyOptions) - var amount = Number(dirtyAmount) + var amount = toInteger(dirtyAmount) date.setUTCMinutes(date.getUTCMinutes() + amount) return date } diff --git a/src/_lib/getUTCWeekYear/index.js b/src/_lib/getUTCWeekYear/index.js index 226040b887..bc1c6869bc 100644 --- a/src/_lib/getUTCWeekYear/index.js +++ b/src/_lib/getUTCWeekYear/index.js @@ -1,3 +1,4 @@ +import toInteger from '../toInteger/index.js' import toDate from '../../toDate/index.js' import startOfUTCWeek from '../startOfUTCWeek/index.js' @@ -19,11 +20,11 @@ export default function getUTCWeekYear (dirtyDate, dirtyOptions) { var defaultFirstWeekContainsDate = localeFirstWeekContainsDate === undefined ? 1 - : Number(localeFirstWeekContainsDate) + : toInteger(localeFirstWeekContainsDate) var firstWeekContainsDate = options.firstWeekContainsDate === undefined ? defaultFirstWeekContainsDate - : Number(options.firstWeekContainsDate) + : toInteger(options.firstWeekContainsDate) // Test if weekStartsOn is between 1 and 7 _and_ is not NaN if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) { diff --git a/src/_lib/setUTCDay/index.js b/src/_lib/setUTCDay/index.js index 2ef90324cd..af6b8fa72f 100644 --- a/src/_lib/setUTCDay/index.js +++ b/src/_lib/setUTCDay/index.js @@ -1,3 +1,4 @@ +import toInteger from '../toInteger/index.js' import toDate from '../../toDate/index.js' // This function will be a part of public API when UTC function will be implemented. @@ -10,8 +11,8 @@ export default function setUTCDay (dirtyDate, dirtyDay, dirtyOptions) { var options = dirtyOptions || {} var locale = options.locale var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn - var defaultWeekStartsOn = localeWeekStartsOn === undefined ? 0 : Number(localeWeekStartsOn) - var weekStartsOn = options.weekStartsOn === undefined ? defaultWeekStartsOn : Number(options.weekStartsOn) + var defaultWeekStartsOn = localeWeekStartsOn === undefined ? 0 : toInteger(localeWeekStartsOn) + var weekStartsOn = options.weekStartsOn === undefined ? defaultWeekStartsOn : toInteger(options.weekStartsOn) // Test if weekStartsOn is between 0 and 6 _and_ is not NaN if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) { @@ -19,7 +20,7 @@ export default function setUTCDay (dirtyDate, dirtyDay, dirtyOptions) { } var date = toDate(dirtyDate, dirtyOptions) - var day = Number(dirtyDay) + var day = toInteger(dirtyDay) var currentDay = date.getUTCDay() diff --git a/src/_lib/setUTCISODay/index.js b/src/_lib/setUTCISODay/index.js index 24ebf5afa3..ea085c8ece 100644 --- a/src/_lib/setUTCISODay/index.js +++ b/src/_lib/setUTCISODay/index.js @@ -1,3 +1,4 @@ +import toInteger from '../toInteger/index.js' import toDate from '../../toDate/index.js' // This function will be a part of public API when UTC function will be implemented. @@ -7,7 +8,7 @@ export default function setUTCISODay (dirtyDate, dirtyDay, dirtyOptions) { throw new TypeError('2 arguments required, but only ' + arguments.length + ' present') } - var day = Number(dirtyDay) + var day = toInteger(dirtyDay) if (day % 7 === 0) { day = day - 7 diff --git a/src/_lib/setUTCISOWeek/index.js b/src/_lib/setUTCISOWeek/index.js index 18f0b4baa5..9ab569cc89 100644 --- a/src/_lib/setUTCISOWeek/index.js +++ b/src/_lib/setUTCISOWeek/index.js @@ -1,3 +1,4 @@ +import toInteger from '../toInteger/index.js' import toDate from '../../toDate/index.js' import getUTCISOWeek from '../getUTCISOWeek/index.js' @@ -9,7 +10,7 @@ export default function setUTCISOWeek (dirtyDate, dirtyISOWeek, dirtyOptions) { } var date = toDate(dirtyDate, dirtyOptions) - var isoWeek = Number(dirtyISOWeek) + var isoWeek = toInteger(dirtyISOWeek) var diff = getUTCISOWeek(date, dirtyOptions) - isoWeek date.setUTCDate(date.getUTCDate() - diff * 7) return date diff --git a/src/_lib/setUTCWeek/index.js b/src/_lib/setUTCWeek/index.js index a319ebc311..f7e836c32f 100644 --- a/src/_lib/setUTCWeek/index.js +++ b/src/_lib/setUTCWeek/index.js @@ -1,3 +1,4 @@ +import toInteger from '../toInteger/index.js' import toDate from '../../toDate/index.js' import getUTCWeek from '../getUTCWeek/index.js' @@ -9,7 +10,7 @@ export default function setUTCWeek (dirtyDate, dirtyWeek, dirtyOptions) { } var date = toDate(dirtyDate, dirtyOptions) - var week = Number(dirtyWeek) + var week = toInteger(dirtyWeek) var diff = getUTCWeek(date, dirtyOptions) - week date.setUTCDate(date.getUTCDate() - diff * 7) return date diff --git a/src/_lib/startOfUTCWeek/index.js b/src/_lib/startOfUTCWeek/index.js index 9a62e99841..6c4a1a6198 100644 --- a/src/_lib/startOfUTCWeek/index.js +++ b/src/_lib/startOfUTCWeek/index.js @@ -1,3 +1,4 @@ +import toInteger from '../toInteger/index.js' import toDate from '../../toDate/index.js' // This function will be a part of public API when UTC function will be implemented. @@ -10,8 +11,8 @@ export default function startOfUTCWeek (dirtyDate, dirtyOptions) { var options = dirtyOptions || {} var locale = options.locale var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn - var defaultWeekStartsOn = localeWeekStartsOn === undefined ? 0 : Number(localeWeekStartsOn) - var weekStartsOn = options.weekStartsOn === undefined ? defaultWeekStartsOn : Number(options.weekStartsOn) + var defaultWeekStartsOn = localeWeekStartsOn === undefined ? 0 : toInteger(localeWeekStartsOn) + var weekStartsOn = options.weekStartsOn === undefined ? defaultWeekStartsOn : toInteger(options.weekStartsOn) // Test if weekStartsOn is between 0 and 6 _and_ is not NaN if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) { diff --git a/src/_lib/startOfUTCWeekYear/index.js b/src/_lib/startOfUTCWeekYear/index.js index 3efea81953..05a889b5f5 100644 --- a/src/_lib/startOfUTCWeekYear/index.js +++ b/src/_lib/startOfUTCWeekYear/index.js @@ -1,3 +1,4 @@ +import toInteger from '../toInteger/index.js' import getUTCWeekYear from '../getUTCWeekYear/index.js' import startOfUTCWeek from '../startOfUTCWeek/index.js' @@ -16,11 +17,11 @@ export default function startOfUTCWeekYear (dirtyDate, dirtyOptions) { var defaultFirstWeekContainsDate = localeFirstWeekContainsDate === undefined ? 1 - : Number(localeFirstWeekContainsDate) + : toInteger(localeFirstWeekContainsDate) var firstWeekContainsDate = options.firstWeekContainsDate === undefined ? defaultFirstWeekContainsDate - : Number(options.firstWeekContainsDate) + : toInteger(options.firstWeekContainsDate) var year = getUTCWeekYear(dirtyDate, dirtyOptions) var firstWeek = new Date(0) diff --git a/src/_lib/toInteger/index.js b/src/_lib/toInteger/index.js new file mode 100644 index 0000000000..36a3b43827 --- /dev/null +++ b/src/_lib/toInteger/index.js @@ -0,0 +1,9 @@ +export default function toInteger (dirtyNumber) { + var number = Number(dirtyNumber) + + if (isNaN(number)) { + return number + } + + return number < 0 ? Math.ceil(number) : Math.floor(number) +} diff --git a/src/_lib/toInteger/test.js b/src/_lib/toInteger/test.js new file mode 100644 index 0000000000..313bc87c99 --- /dev/null +++ b/src/_lib/toInteger/test.js @@ -0,0 +1,27 @@ +// @flow +/* eslint-env mocha */ + +import assert from 'power-assert' +import toInteger from '.' + +describe('toInteger', function () { + it('truncates positive numbers', function () { + var result = toInteger(10.99) + assert(result === 10) + }) + + it('truncates negative numbers', function () { + var result = toInteger(-5.5) + assert(result === -5) + }) + + it('converts convertable arguments', function () { + var result = toInteger('-10.75') + assert(result === -10) + }) + + it('returns NaN for non-convertable arguments', function () { + var result = toInteger('Foobar') + assert(typeof result === 'number' && isNaN(result)) + }) +}) diff --git a/src/addDays/index.js b/src/addDays/index.js index d6243d2bc3..ff70dc9e73 100644 --- a/src/addDays/index.js +++ b/src/addDays/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import toDate from '../toDate/index.js' /** @@ -27,7 +28,7 @@ export default function addDays (dirtyDate, dirtyAmount, dirtyOptions) { } var date = toDate(dirtyDate, dirtyOptions) - var amount = Number(dirtyAmount) + var amount = toInteger(dirtyAmount) date.setDate(date.getDate() + amount) return date } diff --git a/src/addHours/index.js b/src/addHours/index.js index 2f125c41d1..2c667256af 100644 --- a/src/addHours/index.js +++ b/src/addHours/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import addMilliseconds from '../addMilliseconds/index.js' var MILLISECONDS_IN_HOUR = 3600000 @@ -28,6 +29,6 @@ export default function addHours (dirtyDate, dirtyAmount, dirtyOptions) { throw new TypeError('2 arguments required, but only ' + arguments.length + ' present') } - var amount = Number(dirtyAmount) + var amount = toInteger(dirtyAmount) return addMilliseconds(dirtyDate, amount * MILLISECONDS_IN_HOUR, dirtyOptions) } diff --git a/src/addISOWeekYears/index.js b/src/addISOWeekYears/index.js index f1a4ffde31..520c79626d 100644 --- a/src/addISOWeekYears/index.js +++ b/src/addISOWeekYears/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import getISOWeekYear from '../getISOWeekYear/index.js' import setISOWeekYear from '../setISOWeekYear/index.js' @@ -29,6 +30,6 @@ export default function addISOWeekYears (dirtyDate, dirtyAmount, dirtyOptions) { throw new TypeError('2 arguments required, but only ' + arguments.length + ' present') } - var amount = Number(dirtyAmount) + var amount = toInteger(dirtyAmount) return setISOWeekYear(dirtyDate, getISOWeekYear(dirtyDate, dirtyOptions) + amount, dirtyOptions) } diff --git a/src/addMilliseconds/index.js b/src/addMilliseconds/index.js index bd16f19aac..f00515625a 100644 --- a/src/addMilliseconds/index.js +++ b/src/addMilliseconds/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import toDate from '../toDate/index.js' /** @@ -27,6 +28,6 @@ export default function addMilliseconds (dirtyDate, dirtyAmount, dirtyOptions) { } var timestamp = toDate(dirtyDate, dirtyOptions).getTime() - var amount = Number(dirtyAmount) + var amount = toInteger(dirtyAmount) return new Date(timestamp + amount) } diff --git a/src/addMinutes/index.js b/src/addMinutes/index.js index 557b8fc434..e9eadf2d86 100644 --- a/src/addMinutes/index.js +++ b/src/addMinutes/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import addMilliseconds from '../addMilliseconds/index.js' var MILLISECONDS_IN_MINUTE = 60000 @@ -28,6 +29,6 @@ export default function addMinutes (dirtyDate, dirtyAmount, dirtyOptions) { throw new TypeError('2 arguments required, but only ' + arguments.length + ' present') } - var amount = Number(dirtyAmount) + var amount = toInteger(dirtyAmount) return addMilliseconds(dirtyDate, amount * MILLISECONDS_IN_MINUTE, dirtyOptions) } diff --git a/src/addMonths/index.js b/src/addMonths/index.js index 71a24b15d6..07a1170777 100644 --- a/src/addMonths/index.js +++ b/src/addMonths/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import toDate from '../toDate/index.js' import getDaysInMonth from '../getDaysInMonth/index.js' @@ -28,7 +29,7 @@ export default function addMonths (dirtyDate, dirtyAmount, dirtyOptions) { } var date = toDate(dirtyDate, dirtyOptions) - var amount = Number(dirtyAmount) + var amount = toInteger(dirtyAmount) var desiredMonth = date.getMonth() + amount var dateWithDesiredMonth = new Date(0) dateWithDesiredMonth.setFullYear(date.getFullYear(), desiredMonth, 1) diff --git a/src/addQuarters/index.js b/src/addQuarters/index.js index 1375991ab1..e16f4291a8 100644 --- a/src/addQuarters/index.js +++ b/src/addQuarters/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import addMonths from '../addMonths/index.js' /** @@ -26,7 +27,7 @@ export default function addQuarters (dirtyDate, dirtyAmount, dirtyOptions) { throw new TypeError('2 arguments required, but only ' + arguments.length + ' present') } - var amount = Number(dirtyAmount) + var amount = toInteger(dirtyAmount) var months = amount * 3 return addMonths(dirtyDate, months, dirtyOptions) } diff --git a/src/addSeconds/index.js b/src/addSeconds/index.js index 5a0ef4bd53..b97aa9a2ba 100644 --- a/src/addSeconds/index.js +++ b/src/addSeconds/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import addMilliseconds from '../addMilliseconds/index.js' /** @@ -26,6 +27,6 @@ export default function addSeconds (dirtyDate, dirtyAmount, dirtyOptions) { throw new TypeError('2 arguments required, but only ' + arguments.length + ' present') } - var amount = Number(dirtyAmount) + var amount = toInteger(dirtyAmount) return addMilliseconds(dirtyDate, amount * 1000, dirtyOptions) } diff --git a/src/addWeeks/index.js b/src/addWeeks/index.js index e1b234a2a2..a56e2c47bd 100644 --- a/src/addWeeks/index.js +++ b/src/addWeeks/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import addDays from '../addDays/index.js' /** @@ -26,7 +27,7 @@ export default function addWeeks (dirtyDate, dirtyAmount, dirtyOptions) { throw new TypeError('2 arguments required, but only ' + arguments.length + ' present') } - var amount = Number(dirtyAmount) + var amount = toInteger(dirtyAmount) var days = amount * 7 return addDays(dirtyDate, days, dirtyOptions) } diff --git a/src/addYears/index.js b/src/addYears/index.js index edbc80d8fd..8867a14ef0 100644 --- a/src/addYears/index.js +++ b/src/addYears/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import addMonths from '../addMonths/index.js' /** @@ -26,6 +27,6 @@ export default function addYears (dirtyDate, dirtyAmount, dirtyOptions) { throw new TypeError('2 arguments required, but only ' + arguments.length + ' present') } - var amount = Number(dirtyAmount) + var amount = toInteger(dirtyAmount) return addMonths(dirtyDate, amount * 12, dirtyOptions) } diff --git a/src/endOfWeek/index.js b/src/endOfWeek/index.js index 51ef64f0dd..1a6fcc08cd 100644 --- a/src/endOfWeek/index.js +++ b/src/endOfWeek/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import toDate from '../toDate/index.js' /** @@ -38,8 +39,8 @@ export default function endOfWeek (dirtyDate, dirtyOptions) { var locale = options.locale var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn - var defaultWeekStartsOn = localeWeekStartsOn === undefined ? 0 : Number(localeWeekStartsOn) - var weekStartsOn = options.weekStartsOn === undefined ? defaultWeekStartsOn : Number(options.weekStartsOn) + var defaultWeekStartsOn = localeWeekStartsOn === undefined ? 0 : toInteger(localeWeekStartsOn) + var weekStartsOn = options.weekStartsOn === undefined ? defaultWeekStartsOn : toInteger(options.weekStartsOn) // Test if weekStartsOn is between 0 and 6 _and_ is not NaN if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) { diff --git a/src/format/index.js b/src/format/index.js index 66eea54244..c11334d54a 100644 --- a/src/format/index.js +++ b/src/format/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import toDate from '../toDate/index.js' import isValid from '../isValid/index.js' import defaultLocale from '../locale/en-US/index.js' @@ -321,11 +322,11 @@ export default function format (dirtyDate, dirtyFormatStr, dirtyOptions) { var defaultFirstWeekContainsDate = localeFirstWeekContainsDate === undefined ? 1 - : Number(localeFirstWeekContainsDate) + : toInteger(localeFirstWeekContainsDate) var firstWeekContainsDate = options.firstWeekContainsDate === undefined ? defaultFirstWeekContainsDate - : Number(options.firstWeekContainsDate) + : toInteger(options.firstWeekContainsDate) // Test if weekStartsOn is between 1 and 7 _and_ is not NaN if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) { @@ -333,8 +334,8 @@ export default function format (dirtyDate, dirtyFormatStr, dirtyOptions) { } var localeWeekStartsOn = locale.options && locale.options.weekStartsOn - var defaultWeekStartsOn = localeWeekStartsOn === undefined ? 0 : Number(localeWeekStartsOn) - var weekStartsOn = options.weekStartsOn === undefined ? defaultWeekStartsOn : Number(options.weekStartsOn) + var defaultWeekStartsOn = localeWeekStartsOn === undefined ? 0 : toInteger(localeWeekStartsOn) + var weekStartsOn = options.weekStartsOn === undefined ? defaultWeekStartsOn : toInteger(options.weekStartsOn) // Test if weekStartsOn is between 0 and 6 _and_ is not NaN if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) { diff --git a/src/getWeekOfMonth/index.js b/src/getWeekOfMonth/index.js index 1e6e93fae1..3a92d0289c 100644 --- a/src/getWeekOfMonth/index.js +++ b/src/getWeekOfMonth/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import getDate from '../getDate/index.js' import startOfMonth from '../startOfMonth/index.js' import getDay from '../getDay/index.js' @@ -31,8 +32,8 @@ export default function getWeekOfMonth (dirtyDate, dirtyOptions) { var options = dirtyOptions || {} var locale = options.locale var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn - var defaultWeekStartsOn = localeWeekStartsOn === undefined ? 0 : Number(localeWeekStartsOn) - var weekStartsOn = options.weekStartsOn === undefined ? defaultWeekStartsOn : Number(options.weekStartsOn) + var defaultWeekStartsOn = localeWeekStartsOn === undefined ? 0 : toInteger(localeWeekStartsOn) + var weekStartsOn = options.weekStartsOn === undefined ? defaultWeekStartsOn : toInteger(options.weekStartsOn) // Test if weekStartsOn is between 0 and 6 _and_ is not NaN if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) { diff --git a/src/getWeekYear/index.js b/src/getWeekYear/index.js index 9d1ba49d67..ae0c048d5b 100644 --- a/src/getWeekYear/index.js +++ b/src/getWeekYear/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import toDate from '../toDate/index.js' import startOfWeek from '../startOfWeek/index.js' @@ -57,11 +58,11 @@ export default function getWeekYear (dirtyDate, dirtyOptions) { var defaultFirstWeekContainsDate = localeFirstWeekContainsDate === undefined ? 1 - : Number(localeFirstWeekContainsDate) + : toInteger(localeFirstWeekContainsDate) var firstWeekContainsDate = options.firstWeekContainsDate === undefined ? defaultFirstWeekContainsDate - : Number(options.firstWeekContainsDate) + : toInteger(options.firstWeekContainsDate) // Test if weekStartsOn is between 1 and 7 _and_ is not NaN if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) { diff --git a/src/lastDayOfWeek/index.js b/src/lastDayOfWeek/index.js index a708007993..1f1790380c 100644 --- a/src/lastDayOfWeek/index.js +++ b/src/lastDayOfWeek/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import toDate from '../toDate/index.js' /** @@ -37,8 +38,8 @@ export default function lastDayOfWeek (dirtyDate, dirtyOptions) { var options = dirtyOptions || {} var locale = options.locale var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn - var defaultWeekStartsOn = localeWeekStartsOn === undefined ? 0 : Number(localeWeekStartsOn) - var weekStartsOn = options.weekStartsOn === undefined ? defaultWeekStartsOn : Number(options.weekStartsOn) + var defaultWeekStartsOn = localeWeekStartsOn === undefined ? 0 : toInteger(localeWeekStartsOn) + var weekStartsOn = options.weekStartsOn === undefined ? defaultWeekStartsOn : toInteger(options.weekStartsOn) // Test if weekStartsOn is between 0 and 6 _and_ is not NaN if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) { diff --git a/src/parse/index.js b/src/parse/index.js index 05c24a413e..476625d341 100644 --- a/src/parse/index.js +++ b/src/parse/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import toDate from '../toDate/index.js' import subMinutes from '../subMinutes/index.js' import defaultLocale from '../locale/en-US/index.js' @@ -304,11 +305,11 @@ export default function parse (dirtyDateString, dirtyFormatString, dirtyBaseDate var defaultFirstWeekContainsDate = localeFirstWeekContainsDate === undefined ? 1 - : Number(localeFirstWeekContainsDate) + : toInteger(localeFirstWeekContainsDate) var firstWeekContainsDate = options.firstWeekContainsDate === undefined ? defaultFirstWeekContainsDate - : Number(options.firstWeekContainsDate) + : toInteger(options.firstWeekContainsDate) // Test if weekStartsOn is between 1 and 7 _and_ is not NaN if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) { @@ -316,8 +317,8 @@ export default function parse (dirtyDateString, dirtyFormatString, dirtyBaseDate } var localeWeekStartsOn = locale.options && locale.options.weekStartsOn - var defaultWeekStartsOn = localeWeekStartsOn === undefined ? 0 : Number(localeWeekStartsOn) - var weekStartsOn = options.weekStartsOn === undefined ? defaultWeekStartsOn : Number(options.weekStartsOn) + var defaultWeekStartsOn = localeWeekStartsOn === undefined ? 0 : toInteger(localeWeekStartsOn) + var weekStartsOn = options.weekStartsOn === undefined ? defaultWeekStartsOn : toInteger(options.weekStartsOn) // Test if weekStartsOn is between 0 and 6 _and_ is not NaN if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) { diff --git a/src/setDate/index.js b/src/setDate/index.js index 5a84664764..b893ce94f3 100644 --- a/src/setDate/index.js +++ b/src/setDate/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import toDate from '../toDate/index.js' /** @@ -27,7 +28,7 @@ export default function setDate (dirtyDate, dirtyDayOfMonth, dirtyOptions) { } var date = toDate(dirtyDate, dirtyOptions) - var dayOfMonth = Number(dirtyDayOfMonth) + var dayOfMonth = toInteger(dirtyDayOfMonth) date.setDate(dayOfMonth) return date } diff --git a/src/setDay/index.js b/src/setDay/index.js index cd976e87f4..4b8440daff 100644 --- a/src/setDay/index.js +++ b/src/setDay/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import toDate from '../toDate/index.js' import addDays from '../addDays/index.js' @@ -38,8 +39,8 @@ export default function setDay (dirtyDate, dirtyDay, dirtyOptions) { var options = dirtyOptions || {} var locale = options.locale var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn - var defaultWeekStartsOn = localeWeekStartsOn === undefined ? 0 : Number(localeWeekStartsOn) - var weekStartsOn = options.weekStartsOn === undefined ? defaultWeekStartsOn : Number(options.weekStartsOn) + var defaultWeekStartsOn = localeWeekStartsOn === undefined ? 0 : toInteger(localeWeekStartsOn) + var weekStartsOn = options.weekStartsOn === undefined ? defaultWeekStartsOn : toInteger(options.weekStartsOn) // Test if weekStartsOn is between 0 and 6 _and_ is not NaN if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) { @@ -47,7 +48,7 @@ export default function setDay (dirtyDate, dirtyDay, dirtyOptions) { } var date = toDate(dirtyDate, options) - var day = Number(dirtyDay) + var day = toInteger(dirtyDay) var currentDay = date.getDay() var remainder = day % 7 diff --git a/src/setDayOfYear/index.js b/src/setDayOfYear/index.js index 1a999d5fff..c46e4be25e 100644 --- a/src/setDayOfYear/index.js +++ b/src/setDayOfYear/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import toDate from '../toDate/index.js' /** @@ -27,7 +28,7 @@ export default function setDayOfYear (dirtyDate, dirtyDayOfYear, dirtyOptions) { } var date = toDate(dirtyDate, dirtyOptions) - var dayOfYear = Number(dirtyDayOfYear) + var dayOfYear = toInteger(dirtyDayOfYear) date.setMonth(0) date.setDate(dayOfYear) return date diff --git a/src/setHours/index.js b/src/setHours/index.js index e7b45f96a8..3e3282caf0 100644 --- a/src/setHours/index.js +++ b/src/setHours/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import toDate from '../toDate/index.js' /** @@ -27,7 +28,7 @@ export default function setHours (dirtyDate, dirtyHours, dirtyOptions) { } var date = toDate(dirtyDate, dirtyOptions) - var hours = Number(dirtyHours) + var hours = toInteger(dirtyHours) date.setHours(hours) return date } diff --git a/src/setISODay/index.js b/src/setISODay/index.js index 6a4ee50e9d..77473372b2 100644 --- a/src/setISODay/index.js +++ b/src/setISODay/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import toDate from '../toDate/index.js' import addDays from '../addDays/index.js' import getISODay from '../getISODay/index.js' @@ -31,7 +32,7 @@ export default function setISODay (dirtyDate, dirtyDay, dirtyOptions) { } var date = toDate(dirtyDate, dirtyOptions) - var day = Number(dirtyDay) + var day = toInteger(dirtyDay) var currentDay = getISODay(date, dirtyOptions) var diff = day - currentDay return addDays(date, diff, dirtyOptions) diff --git a/src/setISOWeek/index.js b/src/setISOWeek/index.js index 61afd0159c..024cb55dd5 100644 --- a/src/setISOWeek/index.js +++ b/src/setISOWeek/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import toDate from '../toDate/index.js' import getISOWeek from '../getISOWeek/index.js' @@ -30,7 +31,7 @@ export default function setISOWeek (dirtyDate, dirtyISOWeek, dirtyOptions) { } var date = toDate(dirtyDate, dirtyOptions) - var isoWeek = Number(dirtyISOWeek) + var isoWeek = toInteger(dirtyISOWeek) var diff = getISOWeek(date, dirtyOptions) - isoWeek date.setDate(date.getDate() - diff * 7) return date diff --git a/src/setISOWeekYear/index.js b/src/setISOWeekYear/index.js index 7cefcfecd5..5f4cc4ab2a 100644 --- a/src/setISOWeekYear/index.js +++ b/src/setISOWeekYear/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import toDate from '../toDate/index.js' import startOfISOWeekYear from '../startOfISOWeekYear/index.js' import differenceInCalendarDays from '../differenceInCalendarDays/index.js' @@ -32,7 +33,7 @@ export default function setISOWeekYear (dirtyDate, dirtyISOWeekYear, dirtyOption } var date = toDate(dirtyDate, dirtyOptions) - var isoWeekYear = Number(dirtyISOWeekYear) + var isoWeekYear = toInteger(dirtyISOWeekYear) var diff = differenceInCalendarDays(date, startOfISOWeekYear(date, dirtyOptions), dirtyOptions) var fourthOfJanuary = new Date(0) fourthOfJanuary.setFullYear(isoWeekYear, 0, 4) diff --git a/src/setMilliseconds/index.js b/src/setMilliseconds/index.js index 261f57c0bd..623ddab983 100644 --- a/src/setMilliseconds/index.js +++ b/src/setMilliseconds/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import toDate from '../toDate/index.js' /** @@ -27,7 +28,7 @@ export default function setMilliseconds (dirtyDate, dirtyMilliseconds, dirtyOpti } var date = toDate(dirtyDate, dirtyOptions) - var milliseconds = Number(dirtyMilliseconds) + var milliseconds = toInteger(dirtyMilliseconds) date.setMilliseconds(milliseconds) return date } diff --git a/src/setMinutes/index.js b/src/setMinutes/index.js index 90b091e1b8..148772485c 100644 --- a/src/setMinutes/index.js +++ b/src/setMinutes/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import toDate from '../toDate/index.js' /** @@ -27,7 +28,7 @@ export default function setMinutes (dirtyDate, dirtyMinutes, dirtyOptions) { } var date = toDate(dirtyDate, dirtyOptions) - var minutes = Number(dirtyMinutes) + var minutes = toInteger(dirtyMinutes) date.setMinutes(minutes) return date } diff --git a/src/setMonth/index.js b/src/setMonth/index.js index 5ec9265c57..9ad771b9bf 100644 --- a/src/setMonth/index.js +++ b/src/setMonth/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import toDate from '../toDate/index.js' import getDaysInMonth from '../getDaysInMonth/index.js' @@ -28,7 +29,7 @@ export default function setMonth (dirtyDate, dirtyMonth, dirtyOptions) { } var date = toDate(dirtyDate, dirtyOptions) - var month = Number(dirtyMonth) + var month = toInteger(dirtyMonth) var year = date.getFullYear() var day = date.getDate() diff --git a/src/setQuarter/index.js b/src/setQuarter/index.js index 6954e87890..f54e1d6ae3 100644 --- a/src/setQuarter/index.js +++ b/src/setQuarter/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import toDate from '../toDate/index.js' import setMonth from '../setMonth/index.js' @@ -28,7 +29,7 @@ export default function setQuarter (dirtyDate, dirtyQuarter, dirtyOptions) { } var date = toDate(dirtyDate, dirtyOptions) - var quarter = Number(dirtyQuarter) + var quarter = toInteger(dirtyQuarter) var oldQuarter = Math.floor(date.getMonth() / 3) + 1 var diff = quarter - oldQuarter return setMonth(date, date.getMonth() + diff * 3, dirtyOptions) diff --git a/src/setSeconds/index.js b/src/setSeconds/index.js index e3d87d5d25..1f743d4e7d 100644 --- a/src/setSeconds/index.js +++ b/src/setSeconds/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import toDate from '../toDate/index.js' /** @@ -27,7 +28,7 @@ export default function setSeconds (dirtyDate, dirtySeconds, dirtyOptions) { } var date = toDate(dirtyDate, dirtyOptions) - var seconds = Number(dirtySeconds) + var seconds = toInteger(dirtySeconds) date.setSeconds(seconds) return date } diff --git a/src/setWeek/index.js b/src/setWeek/index.js index 471951d0a2..f1aed60980 100644 --- a/src/setWeek/index.js +++ b/src/setWeek/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import toDate from '../toDate/index.js' import getWeek from '../getWeek/index.js' @@ -45,7 +46,7 @@ export default function setWeek (dirtyDate, dirtyWeek, dirtyOptions) { } var date = toDate(dirtyDate, dirtyOptions) - var week = Number(dirtyWeek) + var week = toInteger(dirtyWeek) var diff = getWeek(date, dirtyOptions) - week date.setDate(date.getDate() - diff * 7) return date diff --git a/src/setWeekYear/index.js b/src/setWeekYear/index.js index 88a993e9e3..8af9168e0b 100644 --- a/src/setWeekYear/index.js +++ b/src/setWeekYear/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import toDate from '../toDate/index.js' import startOfWeekYear from '../startOfWeekYear/index.js' import differenceInCalendarDays from '../differenceInCalendarDays/index.js' @@ -54,14 +55,14 @@ export default function setWeekYear (dirtyDate, dirtyWeekYear, dirtyOptions) { var defaultFirstWeekContainsDate = localeFirstWeekContainsDate === undefined ? 1 - : Number(localeFirstWeekContainsDate) + : toInteger(localeFirstWeekContainsDate) var firstWeekContainsDate = options.firstWeekContainsDate === undefined ? defaultFirstWeekContainsDate - : Number(options.firstWeekContainsDate) + : toInteger(options.firstWeekContainsDate) var date = toDate(dirtyDate, dirtyOptions) - var weekYear = Number(dirtyWeekYear) + var weekYear = toInteger(dirtyWeekYear) var diff = differenceInCalendarDays(date, startOfWeekYear(date, dirtyOptions), dirtyOptions) var firstWeek = new Date(0) firstWeek.setFullYear(weekYear, 0, firstWeekContainsDate) diff --git a/src/setYear/index.js b/src/setYear/index.js index bef79e3996..1d521f2345 100644 --- a/src/setYear/index.js +++ b/src/setYear/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import toDate from '../toDate/index.js' /** @@ -27,7 +28,7 @@ export default function setYear (dirtyDate, dirtyYear, dirtyOptions) { } var date = toDate(dirtyDate, dirtyOptions) - var year = Number(dirtyYear) + var year = toInteger(dirtyYear) // Check if date is Invalid Date because Date.prototype.setFullYear ignores the value of Invalid Date if (isNaN(date)) { diff --git a/src/startOfWeek/index.js b/src/startOfWeek/index.js index 434a6ab723..7a1c5dfced 100644 --- a/src/startOfWeek/index.js +++ b/src/startOfWeek/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import toDate from '../toDate/index.js' /** @@ -37,8 +38,8 @@ export default function startOfWeek (dirtyDate, dirtyOptions) { var options = dirtyOptions || {} var locale = options.locale var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn - var defaultWeekStartsOn = localeWeekStartsOn === undefined ? 0 : Number(localeWeekStartsOn) - var weekStartsOn = options.weekStartsOn === undefined ? defaultWeekStartsOn : Number(options.weekStartsOn) + var defaultWeekStartsOn = localeWeekStartsOn === undefined ? 0 : toInteger(localeWeekStartsOn) + var weekStartsOn = options.weekStartsOn === undefined ? defaultWeekStartsOn : toInteger(options.weekStartsOn) // Test if weekStartsOn is between 0 and 6 _and_ is not NaN if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) { diff --git a/src/startOfWeekYear/index.js b/src/startOfWeekYear/index.js index f9f215b3a9..c8b4085506 100644 --- a/src/startOfWeekYear/index.js +++ b/src/startOfWeekYear/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import getWeekYear from '../getWeekYear/index.js' import startOfWeek from '../startOfWeek/index.js' @@ -51,11 +52,11 @@ export default function startOfWeekYear (dirtyDate, dirtyOptions) { var defaultFirstWeekContainsDate = localeFirstWeekContainsDate === undefined ? 1 - : Number(localeFirstWeekContainsDate) + : toInteger(localeFirstWeekContainsDate) var firstWeekContainsDate = options.firstWeekContainsDate === undefined ? defaultFirstWeekContainsDate - : Number(options.firstWeekContainsDate) + : toInteger(options.firstWeekContainsDate) var year = getWeekYear(dirtyDate, dirtyOptions) var firstWeek = new Date(0) diff --git a/src/subDays/index.js b/src/subDays/index.js index e5f9954e6e..d09e8294c8 100644 --- a/src/subDays/index.js +++ b/src/subDays/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import addDays from '../addDays/index.js' /** @@ -26,6 +27,6 @@ export default function subDays (dirtyDate, dirtyAmount, dirtyOptions) { throw new TypeError('2 arguments required, but only ' + arguments.length + ' present') } - var amount = Number(dirtyAmount) + var amount = toInteger(dirtyAmount) return addDays(dirtyDate, -amount, dirtyOptions) } diff --git a/src/subHours/index.js b/src/subHours/index.js index 19cea6d03b..c1b3722b57 100644 --- a/src/subHours/index.js +++ b/src/subHours/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import addHours from '../addHours/index.js' /** @@ -26,6 +27,6 @@ export default function subHours (dirtyDate, dirtyAmount, dirtyOptions) { throw new TypeError('2 arguments required, but only ' + arguments.length + ' present') } - var amount = Number(dirtyAmount) + var amount = toInteger(dirtyAmount) return addHours(dirtyDate, -amount, dirtyOptions) } diff --git a/src/subISOWeekYears/index.js b/src/subISOWeekYears/index.js index 3117084e30..b26ac7230f 100644 --- a/src/subISOWeekYears/index.js +++ b/src/subISOWeekYears/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import addISOWeekYears from '../addISOWeekYears/index.js' /** @@ -28,6 +29,6 @@ export default function subISOWeekYears (dirtyDate, dirtyAmount, dirtyOptions) { throw new TypeError('2 arguments required, but only ' + arguments.length + ' present') } - var amount = Number(dirtyAmount) + var amount = toInteger(dirtyAmount) return addISOWeekYears(dirtyDate, -amount, dirtyOptions) } diff --git a/src/subMilliseconds/index.js b/src/subMilliseconds/index.js index 230acac836..2ef716dc54 100644 --- a/src/subMilliseconds/index.js +++ b/src/subMilliseconds/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import addMilliseconds from '../addMilliseconds/index.js' /** @@ -26,6 +27,6 @@ export default function subMilliseconds (dirtyDate, dirtyAmount, dirtyOptions) { throw new TypeError('2 arguments required, but only ' + arguments.length + ' present') } - var amount = Number(dirtyAmount) + var amount = toInteger(dirtyAmount) return addMilliseconds(dirtyDate, -amount, dirtyOptions) } diff --git a/src/subMinutes/index.js b/src/subMinutes/index.js index 15f4f4dbf6..1af961f0de 100644 --- a/src/subMinutes/index.js +++ b/src/subMinutes/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import addMinutes from '../addMinutes/index.js' /** @@ -26,6 +27,6 @@ export default function subMinutes (dirtyDate, dirtyAmount, dirtyOptions) { throw new TypeError('2 arguments required, but only ' + arguments.length + ' present') } - var amount = Number(dirtyAmount) + var amount = toInteger(dirtyAmount) return addMinutes(dirtyDate, -amount, dirtyOptions) } diff --git a/src/subMonths/index.js b/src/subMonths/index.js index cd959223a5..6085b7ed2e 100644 --- a/src/subMonths/index.js +++ b/src/subMonths/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import addMonths from '../addMonths/index.js' /** @@ -26,6 +27,6 @@ export default function subMonths (dirtyDate, dirtyAmount, dirtyOptions) { throw new TypeError('2 arguments required, but only ' + arguments.length + ' present') } - var amount = Number(dirtyAmount) + var amount = toInteger(dirtyAmount) return addMonths(dirtyDate, -amount, dirtyOptions) } diff --git a/src/subQuarters/index.js b/src/subQuarters/index.js index 8a04578002..bfd09ce7b9 100644 --- a/src/subQuarters/index.js +++ b/src/subQuarters/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import addQuarters from '../addQuarters/index.js' /** @@ -26,6 +27,6 @@ export default function subQuarters (dirtyDate, dirtyAmount, dirtyOptions) { throw new TypeError('2 arguments required, but only ' + arguments.length + ' present') } - var amount = Number(dirtyAmount) + var amount = toInteger(dirtyAmount) return addQuarters(dirtyDate, -amount, dirtyOptions) } diff --git a/src/subSeconds/index.js b/src/subSeconds/index.js index 8b4261bac2..51239b7f73 100644 --- a/src/subSeconds/index.js +++ b/src/subSeconds/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import addSeconds from '../addSeconds/index.js' /** @@ -26,6 +27,6 @@ export default function subSeconds (dirtyDate, dirtyAmount, dirtyOptions) { throw new TypeError('2 arguments required, but only ' + arguments.length + ' present') } - var amount = Number(dirtyAmount) + var amount = toInteger(dirtyAmount) return addSeconds(dirtyDate, -amount, dirtyOptions) } diff --git a/src/subWeeks/index.js b/src/subWeeks/index.js index 9457ac860f..97f0f6c23e 100644 --- a/src/subWeeks/index.js +++ b/src/subWeeks/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import addWeeks from '../addWeeks/index.js' /** @@ -26,6 +27,6 @@ export default function subWeeks (dirtyDate, dirtyAmount, dirtyOptions) { throw new TypeError('2 arguments required, but only ' + arguments.length + ' present') } - var amount = Number(dirtyAmount) + var amount = toInteger(dirtyAmount) return addWeeks(dirtyDate, -amount, dirtyOptions) } diff --git a/src/subYears/index.js b/src/subYears/index.js index e55cf4b708..fbbb41f8fc 100644 --- a/src/subYears/index.js +++ b/src/subYears/index.js @@ -1,3 +1,4 @@ +import toInteger from '../_lib/toInteger/index.js' import addYears from '../addYears/index.js' /** @@ -26,6 +27,6 @@ export default function subYears (dirtyDate, dirtyAmount, dirtyOptions) { throw new TypeError('2 arguments required, but only ' + arguments.length + ' present') } - var amount = Number(dirtyAmount) + var amount = toInteger(dirtyAmount) return addYears(dirtyDate, -amount, dirtyOptions) } diff --git a/src/toDate/index.js b/src/toDate/index.js index 2d31ba6eae..7b9db42ea0 100644 --- a/src/toDate/index.js +++ b/src/toDate/index.js @@ -1,3 +1,5 @@ +import toInteger from '../_lib/toInteger/index.js' + var MILLISECONDS_IN_HOUR = 3600000 var MILLISECONDS_IN_MINUTE = 60000 var DEFAULT_ADDITIONAL_DIGITS = 2 @@ -90,7 +92,7 @@ export default function toDate (argument, dirtyOptions) { var options = dirtyOptions || {} - var additionalDigits = options.additionalDigits === undefined ? DEFAULT_ADDITIONAL_DIGITS : Number(options.additionalDigits) + var additionalDigits = options.additionalDigits === undefined ? DEFAULT_ADDITIONAL_DIGITS : toInteger(options.additionalDigits) if (additionalDigits !== 2 && additionalDigits !== 1 && additionalDigits !== 0) { throw new RangeError('additionalDigits must be 0, 1 or 2') }