diff --git a/index.d.ts b/index.d.ts index e848bff..291c4d0 100644 --- a/index.d.ts +++ b/index.d.ts @@ -1,9 +1,19 @@ -export function diff (originalObj: object, updatedObj: object): object +type DeepPartial = T extends object ? { + [P in keyof T]?: DeepPartial; +} : T; -export function addedDiff (originalObj: object, updatedObj: object): object +export function diff (originalObj: T, updatedObj: J): DeepPartial -export function deletedDiff (originalObj: object, updatedObj: object): object +export function addedDiff (originalObj: T, updatedObj: J): DeepPartial -export function updatedDiff (originalObj: object, updatedObj: object): object +export function deletedDiff (originalObj: T, updatedObj: J): DeepPartial -export function detailedDiff (originalObj: object, updatedObj: object): object +export function updatedDiff (originalObj: T, updatedObj: J): DeepPartial + +export interface DetailedDiff { + added: DeepPartial + deleted: DeepPartial + updated: DeepPartial +} + +export function detailedDiff (originalObj: T, updatedObj: J): DetailedDiff