Rocky_Mountain_Vending/.pnpm-store/v10/files/49/0219830f04668ff36877ab0676893998a588a4f674570d2c5aeb6e19b801de311dbfc78dbfe4ef7964f839c04e8215b089488f2be54bb011e163eb757c8b07
DMleadgen 46d973904b
Initial commit: Rocky Mountain Vending website
Next.js website for Rocky Mountain Vending company featuring:
- Product catalog with Stripe integration
- Service areas and parts pages
- Admin dashboard with Clerk authentication
- SEO optimized pages with JSON-LD structured data

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 16:22:15 -07:00

63 lines
1.9 KiB
Text

import { constructFrom } from "./constructFrom.js";
import { getMonth as coreGetMonth } from "./_core/getMonth.js";
import { getDate as coreGetDate } from "./_core/getDate.js";
import { getFullYear as coreGetFullYear } from "./_core/getFullYear.js";
import { setFullYear as coreSetFullYear } from "./_core/setFullYear.js";
/**
* @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 InputDate - The input `Date` type derived from the passed argument.
* @typeParam ResultDate - The result `Date` type derived from the passed constructor.
*
* @param date - 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(date, constructor) {
const date_ = isConstructor(constructor)
? new constructor(0)
: constructFrom(constructor, 0);
coreSetFullYear(
date_,
coreGetFullYear(date),
coreGetMonth(date),
coreGetDate(date),
);
date_.setHours(
date.getHours(),
date.getMinutes(),
date.getSeconds(),
date.getMilliseconds(),
);
return date_;
}
function isConstructor(constructor) {
return (
typeof constructor === "function" &&
constructor.prototype?.constructor === constructor
);
}
// Fallback for modularized imports:
export default transpose;