diff options
| author | Pinapelz <yukais@pinapelz.com> | 2025-06-28 17:26:46 -0700 |
|---|---|---|
| committer | Pinapelz <yukais@pinapelz.com> | 2025-06-28 17:43:56 -0700 |
| commit | e4fa1e69e7ebfb627c7198fd1a9881e9327ec4d4 (patch) | |
| tree | 06284a538a6008eca75051399e47db4e5d50301c /node_modules/date-fns/closestTo | |
initial commit: scaffolding
Diffstat (limited to 'node_modules/date-fns/closestTo')
| -rw-r--r-- | node_modules/date-fns/closestTo/index.d.ts | 4 | ||||
| -rw-r--r-- | node_modules/date-fns/closestTo/index.js | 67 | ||||
| -rw-r--r-- | node_modules/date-fns/closestTo/index.js.flow | 55 | ||||
| -rw-r--r-- | node_modules/date-fns/closestTo/package.json | 5 |
4 files changed, 131 insertions, 0 deletions
diff --git a/node_modules/date-fns/closestTo/index.d.ts b/node_modules/date-fns/closestTo/index.d.ts new file mode 100644 index 0000000..d4e084e --- /dev/null +++ b/node_modules/date-fns/closestTo/index.d.ts @@ -0,0 +1,4 @@ +// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it. + +import { closestTo } from 'date-fns' +export default closestTo diff --git a/node_modules/date-fns/closestTo/index.js b/node_modules/date-fns/closestTo/index.js new file mode 100644 index 0000000..e3a3cca --- /dev/null +++ b/node_modules/date-fns/closestTo/index.js @@ -0,0 +1,67 @@ +"use strict"; + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = closestTo; +var _index = _interopRequireDefault(require("../toDate/index.js")); +var _index2 = _interopRequireDefault(require("../_lib/requiredArgs/index.js")); +/** + * @name closestTo + * @category Common Helpers + * @summary Return a date from the array closest to the given date. + * + * @description + * Return a date from the array closest to the given date. + * + * @param {Date | Number} dateToCompare - the date to compare with + * @param {Array<Date> | Array<number>} datesArray - the array to search + * @returns {Date | undefined} the date from the array closest to the given date or undefined if no valid value is given + * @throws {TypeError} 2 arguments required + * + * @example + * // Which date is closer to 6 September 2015: 1 January 2000 or 1 January 2030? + * const dateToCompare = new Date(2015, 8, 6) + * const result = closestTo(dateToCompare, [ + * new Date(2000, 0, 1), + * new Date(2030, 0, 1) + * ]) + * //=> Tue Jan 01 2030 00:00:00 + */ +function closestTo(dirtyDateToCompare, dirtyDatesArray) { + (0, _index2.default)(2, arguments); + var dateToCompare = (0, _index.default)(dirtyDateToCompare); + if (isNaN(Number(dateToCompare))) return new Date(NaN); + var timeToCompare = dateToCompare.getTime(); + var datesArray; + // `dirtyDatesArray` is undefined or null + if (dirtyDatesArray == null) { + datesArray = []; + + // `dirtyDatesArray` is Array, Set or Map, or object with custom `forEach` method + } else if (typeof dirtyDatesArray.forEach === 'function') { + datesArray = dirtyDatesArray; + + // If `dirtyDatesArray` is Array-like Object, convert to Array. Otherwise, make it empty Array + } else { + datesArray = Array.prototype.slice.call(dirtyDatesArray); + } + var result; + var minDistance; + datesArray.forEach(function (dirtyDate) { + var currentDate = (0, _index.default)(dirtyDate); + if (isNaN(Number(currentDate))) { + result = new Date(NaN); + minDistance = NaN; + return; + } + var distance = Math.abs(timeToCompare - currentDate.getTime()); + if (result == null || distance < Number(minDistance)) { + result = currentDate; + minDistance = distance; + } + }); + return result; +} +module.exports = exports.default;
\ No newline at end of file diff --git a/node_modules/date-fns/closestTo/index.js.flow b/node_modules/date-fns/closestTo/index.js.flow new file mode 100644 index 0000000..2a03edc --- /dev/null +++ b/node_modules/date-fns/closestTo/index.js.flow @@ -0,0 +1,55 @@ +// @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>) => any, + formatRelative?: (...args: Array<any>) => any, + localize?: { + ordinalNumber: (...args: Array<any>) => any, + era: (...args: Array<any>) => any, + quarter: (...args: Array<any>) => any, + month: (...args: Array<any>) => any, + day: (...args: Array<any>) => any, + dayPeriod: (...args: Array<any>) => any, + }, + formatLong?: { + date: (...args: Array<any>) => any, + time: (...args: Array<any>) => any, + dateTime: (...args: Array<any>) => any, + }, + match?: { + ordinalNumber: (...args: Array<any>) => any, + era: (...args: Array<any>) => any, + quarter: (...args: Array<any>) => any, + month: (...args: Array<any>) => any, + day: (...args: Array<any>) => any, + dayPeriod: (...args: Array<any>) => 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: ( + dateToCompare: Date | number, + datesArray: (Date | number)[] +) => ?Date diff --git a/node_modules/date-fns/closestTo/package.json b/node_modules/date-fns/closestTo/package.json new file mode 100644 index 0000000..a3a1028 --- /dev/null +++ b/node_modules/date-fns/closestTo/package.json @@ -0,0 +1,5 @@ +{ + "sideEffects": false, + "module": "../esm/closestTo/index.js", + "typings": "../typings.d.ts" +}
\ No newline at end of file |
