UNPKG

graphile-build

Version:

Build a GraphQL schema from plugins

45 lines (44 loc) 1.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = resolveNode; async function resolveNode(nodeId, build, { getDataFromParsedResolveInfoFragment }, data, context, resolveInfo) { const { $$isQuery, $$nodeType, parseResolveInfo, nodeFetcherByTypeName, getTypeAndIdentifiersFromNodeId, graphql: { getNamedType } } = build; if (nodeId === "query") { return $$isQuery; } try { const { Type, identifiers } = getTypeAndIdentifiersFromNodeId(nodeId); if (!Type) { throw new Error("Type not found"); } const resolver = nodeFetcherByTypeName[getNamedType(Type).name]; const parsedResolveInfoFragment = parseResolveInfo(resolveInfo, {}, Type); const resolveData = getDataFromParsedResolveInfoFragment(parsedResolveInfoFragment, getNamedType(Type)); const node = await resolver(data, identifiers, context, parsedResolveInfoFragment, resolveInfo.returnType, resolveData, resolveInfo); Object.defineProperty(node, $$nodeType, { enumerable: false, configurable: false, value: Type }); return node; } catch (e) { return null; } } //# sourceMappingURL=resolveNode.js.map