Initial commit
This commit is contained in:
51
node_modules/date-fns/transpose.mjs
generated
vendored
Normal file
51
node_modules/date-fns/transpose.mjs
generated
vendored
Normal file
@ -0,0 +1,51 @@
|
||||
import { constructFrom } from "./constructFrom.mjs";
|
||||
|
||||
/**
|
||||
* @name transpose
|
||||
* @category Generic Helpers
|
||||
* @summary Transpose the date to the given constructor.
|
||||
*
|
||||
* @description
|
||||
* The function transposes the date to the given constructor. It helps you
|
||||
* to transpose the date in the system time zone to say `UTCDate` or any other
|
||||
* date extension.
|
||||
*
|
||||
* @typeParam DateInputType - The input `Date` type derived from the passed argument.
|
||||
* @typeParam DateOutputType - The output `Date` type derived from the passed constructor.
|
||||
*
|
||||
* @param fromDate - The date to use values from
|
||||
* @param constructor - The date constructor to use
|
||||
*
|
||||
* @returns Date transposed to the given constructor
|
||||
*
|
||||
* @example
|
||||
* // Create July 10, 2022 00:00 in locale time zone
|
||||
* const date = new Date(2022, 6, 10)
|
||||
* //=> 'Sun Jul 10 2022 00:00:00 GMT+0800 (Singapore Standard Time)'
|
||||
*
|
||||
* @example
|
||||
* // Transpose the date to July 10, 2022 00:00 in UTC
|
||||
* transpose(date, UTCDate)
|
||||
* //=> 'Sun Jul 10 2022 00:00:00 GMT+0000 (Coordinated Universal Time)'
|
||||
*/
|
||||
export function transpose(fromDate, constructor) {
|
||||
const date =
|
||||
constructor instanceof Date
|
||||
? constructFrom(constructor, 0)
|
||||
: new constructor(0);
|
||||
date.setFullYear(
|
||||
fromDate.getFullYear(),
|
||||
fromDate.getMonth(),
|
||||
fromDate.getDate(),
|
||||
);
|
||||
date.setHours(
|
||||
fromDate.getHours(),
|
||||
fromDate.getMinutes(),
|
||||
fromDate.getSeconds(),
|
||||
fromDate.getMilliseconds(),
|
||||
);
|
||||
return date;
|
||||
}
|
||||
|
||||
// Fallback for modularized imports:
|
||||
export default transpose;
|
||||
Reference in New Issue
Block a user