13 lines
518 B
JavaScript
13 lines
518 B
JavaScript
import { getOperationAST } from 'graphql';
|
|
import { memoize1 } from './memoize.js';
|
|
export function getOperationASTFromDocument(documentNode, operationName) {
|
|
const doc = getOperationAST(documentNode, operationName);
|
|
if (!doc) {
|
|
throw new Error(`Cannot infer operation ${operationName || ''}`);
|
|
}
|
|
return doc;
|
|
}
|
|
export const getOperationASTFromRequest = memoize1(function getOperationASTFromRequest(request) {
|
|
return getOperationASTFromDocument(request.document, request.operationName);
|
|
});
|