diff options
| author | Pinapelz <yukais@pinapelz.com> | 2025-06-29 11:49:28 -0700 |
|---|---|---|
| committer | Pinapelz <yukais@pinapelz.com> | 2025-06-29 11:49:28 -0700 |
| commit | d55b767039605256c736166a942a9138e3eacfd7 (patch) | |
| tree | 947063b634c50d438a794325f13275e134aa5993 /node_modules/date-fns/addMonths/index.js | |
| parent | 864ce67d89c77d8ef9c3361f80d619853abcf91c (diff) | |
remove dev node_modules (oops)
Diffstat (limited to 'node_modules/date-fns/addMonths/index.js')
| -rw-r--r-- | node_modules/date-fns/addMonths/index.js | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/node_modules/date-fns/addMonths/index.js b/node_modules/date-fns/addMonths/index.js deleted file mode 100644 index 6bb9c8c..0000000 --- a/node_modules/date-fns/addMonths/index.js +++ /dev/null @@ -1,69 +0,0 @@ -"use strict"; - -var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = addMonths; -var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); -var _index2 = _interopRequireDefault(require("../toDate/index.js")); -var _index3 = _interopRequireDefault(require("../_lib/requiredArgs/index.js")); -/** - * @name addMonths - * @category Month Helpers - * @summary Add the specified number of months to the given date. - * - * @description - * Add the specified number of months to the given date. - * - * @param {Date|Number} date - the date to be changed - * @param {Number} amount - the amount of months to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`. - * @returns {Date} the new date with the months added - * @throws {TypeError} 2 arguments required - * - * @example - * // Add 5 months to 1 September 2014: - * const result = addMonths(new Date(2014, 8, 1), 5) - * //=> Sun Feb 01 2015 00:00:00 - */ -function addMonths(dirtyDate, dirtyAmount) { - (0, _index3.default)(2, arguments); - var date = (0, _index2.default)(dirtyDate); - var amount = (0, _index.default)(dirtyAmount); - if (isNaN(amount)) { - return new Date(NaN); - } - if (!amount) { - // If 0 months, no-op to avoid changing times in the hour before end of DST - return date; - } - var dayOfMonth = date.getDate(); - - // The JS Date object supports date math by accepting out-of-bounds values for - // month, day, etc. For example, new Date(2020, 0, 0) returns 31 Dec 2019 and - // new Date(2020, 13, 1) returns 1 Feb 2021. This is *almost* the behavior we - // want except that dates will wrap around the end of a month, meaning that - // new Date(2020, 13, 31) will return 3 Mar 2021 not 28 Feb 2021 as desired. So - // we'll default to the end of the desired month by adding 1 to the desired - // month and using a date of 0 to back up one day to the end of the desired - // month. - var endOfDesiredMonth = new Date(date.getTime()); - endOfDesiredMonth.setMonth(date.getMonth() + amount + 1, 0); - var daysInMonth = endOfDesiredMonth.getDate(); - if (dayOfMonth >= daysInMonth) { - // If we're already at the end of the month, then this is the correct date - // and we're done. - return endOfDesiredMonth; - } else { - // Otherwise, we now know that setting the original day-of-month value won't - // cause an overflow, so set the desired day-of-month. Note that we can't - // just set the date of `endOfDesiredMonth` because that object may have had - // its time changed in the unusual case where where a DST transition was on - // the last day of the month and its local time was in the hour skipped or - // repeated next to a DST transition. So we use `date` instead which is - // guaranteed to still have the original time. - date.setFullYear(endOfDesiredMonth.getFullYear(), endOfDesiredMonth.getMonth(), dayOfMonth); - return date; - } -} -module.exports = exports.default;
\ No newline at end of file |
