ra-data-graphql
Version:
A GraphQL data provider for react-admin
32 lines • 1.37 kB
TypeScript
import { IntrospectionField, IntrospectionObjectType, IntrospectionSchema, IntrospectionType } from 'graphql';
import { ApolloClient } from '@apollo/client';
/**
* @param {ApolloClient} client The Apollo client
* @param {Object} options The introspection options
*/
export declare const introspectSchema: (client: ApolloClient<unknown>, options: IntrospectionOptions) => Promise<{
types: IntrospectionType[];
queries: IntrospectionField[];
resources: IntrospectedResource[];
schema: IntrospectionSchema;
}>;
export type IntrospectionOptions = {
schema?: IntrospectionSchema;
operationNames: {
[key: string]: (type: IntrospectionType) => string;
};
exclude?: string[] | ((type: IntrospectionType) => boolean);
include?: string[] | ((type: IntrospectionType) => boolean);
};
export type IntrospectedResource = {
type: IntrospectionObjectType;
};
export type IntrospectionResult = {
types: IntrospectionType[];
queries: IntrospectionObjectType[];
resources: IntrospectedResource[];
schema: IntrospectionSchema;
};
export declare const isResourceIncluded: (type: IntrospectionType, { include }?: Partial<IntrospectionOptions>) => boolean;
export declare const isResourceExcluded: (type: IntrospectionType, { exclude }?: Partial<IntrospectionOptions>) => boolean;
//# sourceMappingURL=introspection.d.ts.map