diff --git a/src/services/hydrator.ts b/src/services/hydrator.ts index 20d3ff9..05ea297 100644 --- a/src/services/hydrator.ts +++ b/src/services/hydrator.ts @@ -9,8 +9,8 @@ import type { Client } from "./client"; export type GatewayObject = Message | Channel; export type Hydrateable = Context | GatewayObject export type Hydrated> = - T extends Message ? HydratedMessage : - T extends Context ? HydratedContext : never; + T extends Message ? HydratedMessage & Partial> : + T extends Context ? HydratedContext & Partial> : never; /** * Hydrates a given data object based on the provided expectations. @@ -69,7 +69,11 @@ export async function hydrate ? Hydrated : Hydrated); + // Create a new object that preserves all existing properties + const result = { ...data }; + + // Return with both previous and new hydrated properties preserved + return result as Hydrated; } /**