type RecursivePartial = { [P in keyof T]?: T[P] | RecursivePartial; }; export const expectToEqual: (actual: T, expected: T) => void = ( actual, expected ) => { expect(actual).toEqual(expected); }; export const expectToMatchObject: ( ...args: [T, RecursivePartial] | [T[], Array>] ) => void = (actual, expected) => { expect(actual).toMatchObject(expected); };