UNPKG

@chillicream/nitro-express-middleware

Version:

Express middleware for Nitro GraphQL IDE

41 lines (40 loc) 1.66 kB
/// <reference types="express" /> interface HttpHeaderDictionary { readonly [key: string]: string | string[]; } type SubscriptionProtocol = "auto" | "graphql-transport-ws" | "graphql-ws" | "graphql-sse"; interface Options { readonly title?: string; readonly disableTelemetry?: boolean; readonly gaTrackingId?: string; readonly useBrowserUrlAsEndpoint: boolean; readonly includeCookies?: boolean; readonly useGet?: boolean; readonly subscriptionProtocol?: SubscriptionProtocol; readonly sdlEndpoint?: string; readonly endpoint?: string; readonly httpHeaders?: HttpHeaderDictionary; readonly graphQLDocument?: string; readonly variables?: Record<string, any>; } type Config = { readonly mode: "cdn"; /** Endpoint **url** for the `cdn` hosted version. */ readonly target?: { baseUrl: string; version?: string; } | string; readonly options?: Options; } | { readonly mode: "embedded"; /** Package **id** or **path** for the `embedded` version. */ readonly target?: string; readonly options?: Options; }; declare function combineMiddlewares(...middlewares: Handler[]): Handler; declare function createRootMiddleware(): Handler; declare function createConfigMiddleware(options?: Options): Handler; declare function cdnMiddleware(target: string, options?: Options): Handler; declare function selfMiddleware(target: string, options?: Options): Handler; declare function nitroMiddleware({ mode, target, options, }: Config): Handler; export { combineMiddlewares, createRootMiddleware, createConfigMiddleware, cdnMiddleware, selfMiddleware, nitroMiddleware as default };