UNPKG

ts-mockery

Version:

Yet another typescript mocking library.

22 lines (21 loc) 1.17 kB
import { SpyAdapter } from './spy-adapters/spy-adapter'; export declare type RecursivePartial<T> = Partial<{ [key in keyof T]: T[key] extends (...a: Array<infer U>) => any ? (...a: Array<U>) => RecursivePartial<ReturnType<T[key]>> | ReturnType<T[key]> : T[key] extends Array<any> ? Array<RecursivePartial<T[key][number]>> : RecursivePartial<T[key]> | T[key]; }>; export interface ExtendedWith<T> { with(stubs: RecursivePartial<T>): T; } export declare class Mockery { static readonly noop: () => any; static all<T>(): T; static configure(spyAdapter: 'jasmine' | 'jest' | SpyAdapter): void; static extend<T>(object: T): ExtendedWith<T>; static from<T>(object: RecursivePartial<T>): T; static of<T extends Array<any>>(stubs?: Array<RecursivePartial<T[number]>>): T; static of<T extends ReadonlyArray<any>>(stubs?: ReadonlyArray<RecursivePartial<T[number]>>): T; static of<T extends object>(stubs?: RecursivePartial<T>): T; static staticMethod<T, K extends keyof T>(object: T, key: K, stub: T[K] & Function): void; private static spyAdapter; private static spyOnTheStubbedFunctions; private static withGenerator; }