@apollographql/graphql-playground-html
Version:
GraphQL IDE for better development workflows (GraphQL Subscriptions, interactive docs & collaboration).
72 lines (71 loc) • 1.9 kB
TypeScript
export interface MiddlewareOptions {
endpoint?: string;
subscriptionEndpoint?: string;
workspaceName?: string;
env?: any;
config?: any;
settings?: ISettings;
schema?: IntrospectionResult;
tabs?: Tab[];
codeTheme?: EditorColours;
}
export declare type CursorShape = 'line' | 'block' | 'underline';
export declare type Theme = 'dark' | 'light';
export interface ISettings {
'general.betaUpdates'?: boolean;
'editor.cursorShape'?: CursorShape;
'editor.theme'?: Theme;
'editor.reuseHeaders'?: boolean;
'tracing.hideTracingResponse'?: boolean;
'queryPlan.hideQueryPlanResponse'?: boolean;
'editor.fontSize'?: number;
'editor.fontFamily'?: string;
'request.credentials'?: string;
'schema.polling.enable'?: boolean;
'schema.polling.endpointFilter'?: string;
'schema.polling.interval'?: number;
}
export interface EditorColours {
property: string;
comment: string;
punctuation: string;
keyword: string;
def: string;
qualifier: string;
attribute: string;
number: string;
string: string;
builtin: string;
string2: string;
variable: string;
meta: string;
atom: string;
ws: string;
selection: string;
cursorColor: string;
editorBackground: string;
resultBackground: string;
leftDrawerBackground: string;
rightDrawerBackground: string;
}
export interface IntrospectionResult {
__schema: any;
}
export interface RenderPageOptions extends MiddlewareOptions {
version?: string;
cdnUrl?: string;
env?: any;
title?: string;
faviconUrl?: string | null;
}
export interface Tab {
endpoint: string;
query: string;
name?: string;
variables?: string;
responses?: string[];
headers?: {
[key: string]: string;
};
}
export declare function renderPlaygroundPage(options: RenderPageOptions): string;