function spyimport { spy } from "https://deno.land/x/pup@1.0.0-beta.8/test/deps.ts"; spy<Self = any, Args extends unknown[] = any[], Return = undefined>(): Spy<Self, Args, Return>Wraps a function or instance method with a Spy. spy<Self, Args extends unknown[], Return>(func: (this: Self, ...args: Args) => Return): Spy<Self, Args, Return>spy<Self, Prop extends keyof Self>(self: Self, property: Prop): Spy<Self, GetParametersFromProp<Self, Prop>, GetReturnFromProp<Self, Prop>>Wraps a function or instance method with a Spy. Type ParametersoptionalSelf = anyoptionalArgs extends unknown[] = any[]optionalReturn = undefinedReturnsSpy<Self, Args, Return>Type ParametersSelfArgs extends unknown[]ReturnParametersfunc: (this: Self, ...args: Args) => ReturnReturnsSpy<Self, Args, Return>Type ParametersSelfProp extends keyof SelfParametersself: Selfproperty: PropReturnsSpy<Self, GetParametersFromProp<Self, Prop>, GetReturnFromProp<Self, Prop>>