@chubbyts/chubbyts-function-mock
Version:
A function mock helper.
40 lines (39 loc) • 1.22 kB
TypeScript
export declare const internalResolveCallerLineFromStack: (stack?: string) => number | undefined;
export type ObjectMocks<T extends Record<string, any>> = Array<{
[K in keyof T]: T[K] extends (...parameters: Array<any>) => any ? ReturnType<T[K]> extends T ? {
name: K;
parameters: Parameters<T[K]>;
returnSelf: true;
strict?: true;
} | {
name: K;
parameters: Parameters<T[K]>;
error: Error;
strict?: true;
} | {
name: K;
callback: T[K];
} : (ReturnType<T[K]> extends void ? {
name: K;
parameters: Parameters<T[K]>;
strict?: true;
} : {
name: K;
parameters: Parameters<T[K]>;
return: ReturnType<T[K]>;
strict?: true;
}) | {
name: K;
parameters: Parameters<T[K]>;
error: Error;
strict?: true;
} | {
name: K;
callback: T[K];
} : {
name: K;
value: T[K];
};
}[keyof T]>;
export declare const createObjectMock: <T extends Record<string, any>>(mocks: ObjectMocks<T>) => T;
export declare const useObjectMock: <T extends Record<string, any>>(mocks: ObjectMocks<T>) => [T, ObjectMocks<T>];