@@ -92,8 +92,8 @@ export interface MockContext<T extends Procedure> {
9292 lastCall : Parameters < T > | undefined
9393}
9494
95- // TODO: use `(...args: unknown[]) => unknown` for stricter default like jest?
9695type Procedure = ( ...args : any [ ] ) => any
96+ type UnknownProcedure = ( ...args : unknown [ ] ) => unknown
9797
9898type Methods < T > = keyof {
9999 [ K in keyof T as T [ K ] extends Procedure ? K : never ] : T [ K ] ;
@@ -117,7 +117,7 @@ Jest uses the latter for `MockInstance.mockImplementation` etc... and it allows
117117 const boolFn: Jest.Mock<() => boolean> = jest.fn<() => true>(() => true)
118118*/
119119/* eslint-disable ts/method-signature-style */
120- export interface MockInstance < T extends Procedure = Procedure > {
120+ export interface MockInstance < T extends Procedure = UnknownProcedure > {
121121 /**
122122 * Use it to return the name given to mock with method `.mockName(name)`.
123123 */
@@ -249,14 +249,14 @@ export interface MockInstance<T extends Procedure = Procedure> {
249249}
250250/* eslint-enable ts/method-signature-style */
251251
252- export interface Mock < T extends Procedure = Procedure > extends MockInstance < T > {
252+ export interface Mock < T extends Procedure = UnknownProcedure > extends MockInstance < T > {
253253 new ( ...args : Parameters < T > ) : ReturnType < T >
254254 ( ...args : Parameters < T > ) : ReturnType < T >
255255}
256256
257257type PartialMaybePromise < T > = T extends Promise < Awaited < T > > ? Promise < Partial < Awaited < T > > > : Partial < T >
258258
259- export interface PartialMock < T extends Procedure = Procedure > extends MockInstance < ( ...args : Parameters < T > ) => PartialMaybePromise < ReturnType < T > > > {
259+ export interface PartialMock < T extends Procedure = UnknownProcedure > extends MockInstance < ( ...args : Parameters < T > ) => PartialMaybePromise < ReturnType < T > > > {
260260 new ( ...args : Parameters < T > ) : ReturnType < T >
261261 ( ...args : Parameters < T > ) : ReturnType < T >
262262}
@@ -514,7 +514,7 @@ function enhanceSpy<T extends Procedure>(
514514 return stub as any
515515}
516516
517- export function fn < T extends Procedure = Procedure > (
517+ export function fn < T extends Procedure = UnknownProcedure > (
518518 implementation ?: T ,
519519) : Mock < T > {
520520 const enhancedSpy = enhanceSpy ( tinyspy . internalSpyOn ( { spy : implementation || ( ( ) => { } ) } , 'spy' ) )
0 commit comments