From e4fa1e69e7ebfb627c7198fd1a9881e9327ec4d4 Mon Sep 17 00:00:00 2001 From: Pinapelz Date: Sat, 28 Jun 2025 17:26:46 -0700 Subject: initial commit: scaffolding --- node_modules/date-fns/addMonths/index.d.ts | 4 ++ node_modules/date-fns/addMonths/index.js | 69 +++++++++++++++++++++++++++ node_modules/date-fns/addMonths/index.js.flow | 52 ++++++++++++++++++++ node_modules/date-fns/addMonths/package.json | 5 ++ 4 files changed, 130 insertions(+) create mode 100644 node_modules/date-fns/addMonths/index.d.ts create mode 100644 node_modules/date-fns/addMonths/index.js create mode 100644 node_modules/date-fns/addMonths/index.js.flow create mode 100644 node_modules/date-fns/addMonths/package.json (limited to 'node_modules/date-fns/addMonths') diff --git a/node_modules/date-fns/addMonths/index.d.ts b/node_modules/date-fns/addMonths/index.d.ts new file mode 100644 index 0000000..1308e13 --- /dev/null +++ b/node_modules/date-fns/addMonths/index.d.ts @@ -0,0 +1,4 @@ +// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it. + +import { addMonths } from 'date-fns' +export default addMonths diff --git a/node_modules/date-fns/addMonths/index.js b/node_modules/date-fns/addMonths/index.js new file mode 100644 index 0000000..6bb9c8c --- /dev/null +++ b/node_modules/date-fns/addMonths/index.js @@ -0,0 +1,69 @@ +"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 diff --git a/node_modules/date-fns/addMonths/index.js.flow b/node_modules/date-fns/addMonths/index.js.flow new file mode 100644 index 0000000..f568f0d --- /dev/null +++ b/node_modules/date-fns/addMonths/index.js.flow @@ -0,0 +1,52 @@ +// @flow +// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it. + +export type Interval = { + start: Date | number, + end: Date | number, +} + +export type Locale = { + code?: string, + formatDistance?: (...args: Array) => any, + formatRelative?: (...args: Array) => any, + localize?: { + ordinalNumber: (...args: Array) => any, + era: (...args: Array) => any, + quarter: (...args: Array) => any, + month: (...args: Array) => any, + day: (...args: Array) => any, + dayPeriod: (...args: Array) => any, + }, + formatLong?: { + date: (...args: Array) => any, + time: (...args: Array) => any, + dateTime: (...args: Array) => any, + }, + match?: { + ordinalNumber: (...args: Array) => any, + era: (...args: Array) => any, + quarter: (...args: Array) => any, + month: (...args: Array) => any, + day: (...args: Array) => any, + dayPeriod: (...args: Array) => any, + }, + options?: { + weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6, + firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7, + }, +} + +export type Duration = { + years?: number, + months?: number, + weeks?: number, + days?: number, + hours?: number, + minutes?: number, + seconds?: number, +} + +export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6 + +declare module.exports: (date: Date | number, amount: number) => Date diff --git a/node_modules/date-fns/addMonths/package.json b/node_modules/date-fns/addMonths/package.json new file mode 100644 index 0000000..f3c9c79 --- /dev/null +++ b/node_modules/date-fns/addMonths/package.json @@ -0,0 +1,5 @@ +{ + "sideEffects": false, + "module": "../esm/addMonths/index.js", + "typings": "../typings.d.ts" +} \ No newline at end of file -- cgit v1.2.3