- ✅ Ticket 1.1: Estructura Clean Architecture en backend - ✅ Ticket 1.2: Schemas Zod compartidos - ✅ Ticket 1.3: Refactorización drugs.ts (1362 → 8 archivos modulares) - ✅ Ticket 1.4: Refactorización procedures.ts (3583 → 6 archivos modulares) - ✅ Ticket 1.5: Eliminación de duplicidades (~50 líneas) Cambios principales: - Creada estructura Clean Architecture en backend/src/ - Schemas Zod compartidos en backend/src/shared/schemas/ - Refactorización modular de drugs y procedures - Utilidades genéricas en src/utils/ (filter, validation) - Eliminados scripts obsoletos y documentación antigua - Corregidos errores: QueryClient, import test-error-handling - Build verificado y funcionando correctamente
52 lines
1.5 KiB
JavaScript
52 lines
1.5 KiB
JavaScript
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;
|