ts-mockery
Version:
Yet another typescript mocking library.
22 lines (21 loc) • 1.17 kB
TypeScript
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;
}