graphql

Search for an npm package
/** @category AST Utilities */
import { Kind } from '../language/kinds.mjs';
/**
* Provided a collection of ASTs, presumably each from different files,
* concatenate the ASTs together into batched AST, useful for validating many
* GraphQL source files which together represent one conceptual application.
* @param documents - Document ASTs to concatenate.
* @returns A document AST containing all definitions from the provided documents.
* @example
* ```ts
* import { parse } from 'graphql/language';
* import { concatAST } from 'graphql/utilities';
*
* const document = concatAST([parse('type Query { a: String }'), parse('type User { id: ID }')]);
*
* document.definitions.length; // => 2
* ```
*/
export function concatAST(documents) {
const definitions = [];
for (const doc of documents) {
definitions.push(...doc.definitions);
}
return {
kind: Kind.DOCUMENT,
definitions,
};
}