Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
19 lines
576 B
Plaintext
19 lines
576 B
Plaintext
import { Kind } from '../language/kinds.mjs';
|
|
import { GraphQLList, GraphQLNonNull } from '../type/definition.mjs';
|
|
export function typeFromAST(schema, typeNode) {
|
|
switch (typeNode.kind) {
|
|
case Kind.LIST_TYPE: {
|
|
const innerType = typeFromAST(schema, typeNode.type);
|
|
return innerType && new GraphQLList(innerType);
|
|
}
|
|
|
|
case Kind.NON_NULL_TYPE: {
|
|
const innerType = typeFromAST(schema, typeNode.type);
|
|
return innerType && new GraphQLNonNull(innerType);
|
|
}
|
|
|
|
case Kind.NAMED_TYPE:
|
|
return schema.getType(typeNode.name.value);
|
|
}
|
|
}
|