1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 1× 1× 26× 26× 20× 26× 26× | import { SpyCall } from "./spy-call"; import { Spy } from "./spy"; export function SpyOn(target: any, functionName: string) { let spy = new Spy(target[functionName], target); target[functionName] = (...args: Array<any>) => { return spy.call(args); }; // expose spy's calls on function target[functionName].calls = spy.calls; return spy; } |