diff --git a/src/loggingDatabaseOperations.ts b/src/loggingDatabaseOperations.ts index 3819711..cafb8f7 100644 --- a/src/loggingDatabaseOperations.ts +++ b/src/loggingDatabaseOperations.ts @@ -57,14 +57,21 @@ export class LoggingDatabaseOperations implements DatabaseOperations { // Constrain T to only callable (function) members of DatabaseOperations, // excluding non-function properties like `engineKind` (which is a Promise). + // eslint-disable-next-line @typescript-eslint/no-explicit-any private async logAndDelegate any ? K : never }[keyof DatabaseOperations]>( message: string, isWrite: boolean, method: T, + // eslint-disable-next-line @typescript-eslint/no-explicit-any ...args: Parameters any>> + // eslint-disable-next-line @typescript-eslint/no-explicit-any ): Promise any>>> { this.log(message, isWrite); - return (this.wrapped[method] as any)(...args); + + // eslint-disable-next-line @typescript-eslint/no-explicit-any + type AnyFunc = Extract any>; + const targetMethod = this.wrapped[method] as unknown as (...args: Parameters) => ReturnType; + return targetMethod(...args); } private log(message: string, isWrite: boolean = false) {