UNPKG

@baseplate-dev/react-generators

Version:

React Generators for Baseplate

66 lines 2.43 kB
interface GraphQLArgumentScalarValue { type: 'scalar'; value: string | number | boolean; } interface GraphQLArgumentVariableValue { type: 'variable'; variable: string; } type GraphQLArgumentValue = GraphQLArgumentScalarValue | GraphQLArgumentVariableValue; interface GraphQLArgument { name: string; value: GraphQLArgumentValue; } interface GraphQLSimpleField { type?: 'simple' | undefined; name: string; args?: GraphQLArgument[]; fields?: GraphQLField[]; order?: number; } interface GraphQLSpreadField { type: 'spread'; on: string; } export type GraphQLField = GraphQLSimpleField | GraphQLSpreadField; interface GraphQLVariable { name: string; type: string; } export interface GraphQLRoot { type: 'query' | 'mutation' | 'subscription'; name?: string; variables?: GraphQLVariable[]; fields: GraphQLField[]; } export interface GraphQLFragment { name: string; type: string; fields: GraphQLField[]; } export declare function renderGraphQLFragment({ name, type, fields, }: GraphQLFragment): string; export declare function renderGraphQLRoot({ type, name, variables, fields, }: GraphQLRoot): string; /** * Merges an array of `GraphQLField` objects, combining any mergeable fields. * * This function iterates through the input fields, merging entries that are determined to be mergeable * based on `areFieldsMergeable`. Non-mergeable fields are added directly to the result. * * @param fields - An array of `GraphQLField` objects to merge. * @returns An array of merged `GraphQLField` objects. */ export declare function mergeGraphQLFields(fields: GraphQLField[]): GraphQLField[]; /** * Merges an array of `GraphQLFragment` objects, combining any mergeable fragments. * * This function iterates through the input fragments and merges entries that are determined to be * mergeable based on `areFragmentsMergeable`. If fragments are mergeable, their `fields` are merged * using `mergeGraphQLFields`. Non-mergeable fragments are added directly to the result. * * @param frags - An array of `GraphQLFragment` objects to merge. * @returns An array of merged `GraphQLFragment` objects. */ export declare function mergeGraphQLFragments(frags: GraphQLFragment[]): GraphQLFragment[]; export declare function areFieldsIdentical(fieldsOne: GraphQLField[], fieldsTwo: GraphQLField[]): boolean; export {}; //# sourceMappingURL=index.d.ts.map