You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
18 lines
555 B
18 lines
555 B
// @flow strict
|
|
import type { DocumentNode } from '../language/ast';
|
|
|
|
/**
|
|
* 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.
|
|
*/
|
|
export function concatAST(
|
|
documents: $ReadOnlyArray<DocumentNode>,
|
|
): DocumentNode {
|
|
let definitions = [];
|
|
for (const doc of documents) {
|
|
definitions = definitions.concat(doc.definitions);
|
|
}
|
|
return { kind: 'Document', definitions };
|
|
}
|