graphql-playground-html
Version:
GraphQL IDE for better development workflows (GraphQL Subscriptions, interactive docs & collaboration).
75 lines (74 loc) • 1.96 kB
TypeScript
export interface MiddlewareOptions {
endpoint?: string;
subscriptionEndpoint?: string;
workspaceName?: string;
env?: any;
config?: any;
settings?: Partial<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;
'tracing.tracingSupported': boolean;
'editor.fontSize': number;
'editor.fontFamily': string;
'request.credentials': string;
'request.globalHeaders': {
[key: string]: 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;