UNPKG

@graphql-yoga/plugin-disable-introspection

Version:

Disable Introspection plugin for GraphQL Yoga.

19 lines (18 loc) 623 B
import { NoSchemaIntrospectionCustomRule } from 'graphql'; const store = new WeakMap(); export const useDisableIntrospection = (props) => { return { async onRequest({ request }) { const isDisabled = props?.isDisabled ? await props.isDisabled(request) : true; store.set(request, isDisabled); }, onValidate({ addValidationRule, context }) { const isDisabled = store.get(context.request) ?? true; if (isDisabled) { addValidationRule(NoSchemaIntrospectionCustomRule); } }, }; };