function spyimport { spy } from "https://deno.land/std@0.224.0/testing/mock.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, Args extends unknown[], Return = undefined>(constructor: new (...args: Args) => Self): ConstructorSpy<Self, Args>spy<Self, Prop extends keyof Self>(self: Self, property: Prop): MethodSpy<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 ParametersSelfArgs extends unknown[]optionalReturn = undefinedParametersconstructor: new (...args: Args) => SelfReturnsConstructorSpy<Self, Args>Type ParametersSelfProp extends keyof SelfParametersself: Selfproperty: PropReturnsMethodSpy<Self, GetParametersFromProp<Self, Prop>, GetReturnFromProp<Self, Prop>>