/* eslint-disable @typescript-eslint/no-unsafe-function-type */ import { MercuriusContext } from 'mercurius'; const isCallback = ( maybeFunction: unknown | Function ): maybeFunction is Function => typeof maybeFunction === 'function'; export const withAuth = (callback: T) => async function ( _: unknown, __: unknown, context: MercuriusContext, info: unknown ) { if (!context.jwt) { throw new Error('Not authenticated!'); } return isCallback(callback) && callback(_, __, context, info); };