UNPKG

@golevelup/ts-jest

Version:

Reusable utilities to help level up NestJS Testing

17 lines 896 B
/// <reference types="jest" /> type DeepPartial<T> = { [P in keyof T]?: T[P] extends Array<infer U> ? Array<DeepPartial<U>> : T[P] extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : unknown extends T[P] ? T[P] : DeepPartial<T[P]>; }; export type PartialFuncReturn<T> = { [K in keyof T]?: T[K] extends (...args: infer A) => infer U ? (...args: A) => PartialFuncReturn<U> : DeepPartial<T[K]>; }; export type DeepMocked<T> = { [K in keyof T]: Required<T>[K] extends (...args: any[]) => infer U ? jest.MockInstance<ReturnType<Required<T>[K]>, jest.ArgsType<T[K]>> & ((...args: jest.ArgsType<T[K]>) => DeepMocked<U>) : T[K]; } & T; export type MockOptions = { name?: string; strict?: boolean; }; export declare const createMock: <T extends object>(partial?: PartialFuncReturn<T>, options?: MockOptions) => DeepMocked<T>; export {}; //# sourceMappingURL=mocks.d.ts.map