UNPKG

@kazekyo/nau-graphql-codegen-preset

Version:

A GraphQL Code Generator preset for Nau

55 lines (54 loc) 6.71 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getNodeType = exports.getEdgeType = exports.getConnectionType = void 0; var _graphql = require("graphql"); var _execute = require("graphql/execution/execute"); var _graphqlAST = require("./graphqlAST"); var getConnectionType = function getConnectionType(_ref) { var type = _ref.type; var connectionType = type; if (!connectionType) return; if ((0, _graphql.isNonNullType)(connectionType)) { connectionType = connectionType.ofType; } if (!(0, _graphql.isObjectType)(connectionType)) return; if (!connectionType.name.endsWith('Connection')) return; return connectionType; }; exports.getConnectionType = getConnectionType; var getEdgeType = function getEdgeType(_ref2) { var connectionType = _ref2.connectionType, schema = _ref2.schema; var edgesFieldDef = (0, _execute.getFieldDef)(schema, connectionType, _graphqlAST.edgesField); if (!edgesFieldDef) return; var edgesType = edgesFieldDef.type; if ((0, _graphql.isNonNullType)(edgesType)) { edgesType = edgesType.ofType; } if (!(0, _graphql.isListType)(edgesType)) return; var edgeType = edgesType.ofType; if (!edgeType) return; if ((0, _graphql.isNonNullType)(edgeType)) { edgeType = edgeType.ofType; } if (!(0, _graphql.isObjectType)(edgeType)) return; return edgeType; }; exports.getEdgeType = getEdgeType; var getNodeType = function getNodeType(_ref3) { var edgeType = _ref3.edgeType, schema = _ref3.schema; var nodeFieldDef = (0, _execute.getFieldDef)(schema, edgeType, _graphqlAST.nodeField); if (!nodeFieldDef) return; var nodeType = nodeFieldDef.type; if (!nodeType) return; if ((0, _graphql.isNonNullType)(nodeType)) { nodeType = nodeType.ofType; } if (!(0, _graphql.isObjectType)(nodeType)) return; return nodeType; }; exports.getNodeType = getNodeType; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRDb25uZWN0aW9uVHlwZSIsInR5cGUiLCJjb25uZWN0aW9uVHlwZSIsImlzTm9uTnVsbFR5cGUiLCJvZlR5cGUiLCJpc09iamVjdFR5cGUiLCJuYW1lIiwiZW5kc1dpdGgiLCJnZXRFZGdlVHlwZSIsInNjaGVtYSIsImVkZ2VzRmllbGREZWYiLCJnZXRGaWVsZERlZiIsImVkZ2VzRmllbGQiLCJlZGdlc1R5cGUiLCJpc0xpc3RUeXBlIiwiZWRnZVR5cGUiLCJnZXROb2RlVHlwZSIsIm5vZGVGaWVsZERlZiIsIm5vZGVGaWVsZCIsIm5vZGVUeXBlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2dyYXBocWxTY2hlbWEudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR3JhcGhRTE9iamVjdFR5cGUsIEdyYXBoUUxPdXRwdXRUeXBlLCBHcmFwaFFMU2NoZW1hLCBpc0xpc3RUeXBlLCBpc05vbk51bGxUeXBlLCBpc09iamVjdFR5cGUgfSBmcm9tICdncmFwaHFsJztcbmltcG9ydCB7IGdldEZpZWxkRGVmIH0gZnJvbSAnZ3JhcGhxbC9leGVjdXRpb24vZXhlY3V0ZSc7XG5pbXBvcnQgeyBNYXliZSB9IGZyb20gJ2dyYXBocWwvanN1dGlscy9NYXliZSc7XG5pbXBvcnQgeyBlZGdlc0ZpZWxkLCBub2RlRmllbGQgfSBmcm9tICcuL2dyYXBocWxBU1QnO1xuXG5leHBvcnQgY29uc3QgZ2V0Q29ubmVjdGlvblR5cGUgPSAoeyB0eXBlIH06IHsgdHlwZTogTWF5YmU8R3JhcGhRTE91dHB1dFR5cGU+IH0pOiBHcmFwaFFMT2JqZWN0VHlwZSB8IHVuZGVmaW5lZCA9PiB7XG4gIGxldCBjb25uZWN0aW9uVHlwZSA9IHR5cGU7XG4gIGlmICghY29ubmVjdGlvblR5cGUpIHJldHVybjtcbiAgaWYgKGlzTm9uTnVsbFR5cGUoY29ubmVjdGlvblR5cGUpKSB7XG4gICAgY29ubmVjdGlvblR5cGUgPSBjb25uZWN0aW9uVHlwZS5vZlR5cGUgYXMgR3JhcGhRTE9iamVjdFR5cGU7XG4gIH1cbiAgaWYgKCFpc09iamVjdFR5cGUoY29ubmVjdGlvblR5cGUpKSByZXR1cm47XG4gIGlmICghY29ubmVjdGlvblR5cGUubmFtZS5lbmRzV2l0aCgnQ29ubmVjdGlvbicpKSByZXR1cm47XG4gIHJldHVybiBjb25uZWN0aW9uVHlwZTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRFZGdlVHlwZSA9ICh7XG4gIGNvbm5lY3Rpb25UeXBlLFxuICBzY2hlbWEsXG59OiB7XG4gIGNvbm5lY3Rpb25UeXBlOiBHcmFwaFFMT2JqZWN0VHlwZTtcbiAgc2NoZW1hOiBHcmFwaFFMU2NoZW1hO1xufSk6IEdyYXBoUUxPYmplY3RUeXBlIHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgZWRnZXNGaWVsZERlZiA9IGdldEZpZWxkRGVmKHNjaGVtYSwgY29ubmVjdGlvblR5cGUsIGVkZ2VzRmllbGQpO1xuICBpZiAoIWVkZ2VzRmllbGREZWYpIHJldHVybjtcblxuICBsZXQgZWRnZXNUeXBlID0gZWRnZXNGaWVsZERlZi50eXBlO1xuICBpZiAoaXNOb25OdWxsVHlwZShlZGdlc1R5cGUpKSB7XG4gICAgZWRnZXNUeXBlID0gZWRnZXNUeXBlLm9mVHlwZTtcbiAgfVxuICBpZiAoIWlzTGlzdFR5cGUoZWRnZXNUeXBlKSkgcmV0dXJuO1xuXG4gIGxldCBlZGdlVHlwZSA9IGVkZ2VzVHlwZS5vZlR5cGUgYXMgTWF5YmU8dW5rbm93bj47XG4gIGlmICghZWRnZVR5cGUpIHJldHVybjtcblxuICBpZiAoaXNOb25OdWxsVHlwZShlZGdlVHlwZSkpIHtcbiAgICBlZGdlVHlwZSA9IGVkZ2VUeXBlLm9mVHlwZTtcbiAgfVxuICBpZiAoIWlzT2JqZWN0VHlwZShlZGdlVHlwZSkpIHJldHVybjtcblxuICByZXR1cm4gZWRnZVR5cGU7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Tm9kZVR5cGUgPSAoe1xuICBlZGdlVHlwZSxcbiAgc2NoZW1hLFxufToge1xuICBlZGdlVHlwZTogR3JhcGhRTE9iamVjdFR5cGU7XG4gIHNjaGVtYTogR3JhcGhRTFNjaGVtYTtcbn0pOiBHcmFwaFFMT2JqZWN0VHlwZSB8IHVuZGVmaW5lZCA9PiB7XG4gIGNvbnN0IG5vZGVGaWVsZERlZiA9IGdldEZpZWxkRGVmKHNjaGVtYSwgZWRnZVR5cGUsIG5vZGVGaWVsZCk7XG4gIGlmICghbm9kZUZpZWxkRGVmKSByZXR1cm47XG5cbiAgbGV0IG5vZGVUeXBlID0gbm9kZUZpZWxkRGVmLnR5cGU7XG4gIGlmICghbm9kZVR5cGUpIHJldHVybjtcblxuICBpZiAoaXNOb25OdWxsVHlwZShub2RlVHlwZSkpIHtcbiAgICBub2RlVHlwZSA9IG5vZGVUeXBlLm9mVHlwZTtcbiAgfVxuICBpZiAoIWlzT2JqZWN0VHlwZShub2RlVHlwZSkpIHJldHVybjtcblxuICByZXR1cm4gbm9kZVR5cGU7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBO0FBRUE7QUFFTyxJQUFNQSxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQWlCLE9BQW9GO0VBQUEsSUFBOUVDLElBQUksUUFBSkEsSUFBSTtFQUN0QyxJQUFJQyxjQUFjLEdBQUdELElBQUk7RUFDekIsSUFBSSxDQUFDQyxjQUFjLEVBQUU7RUFDckIsSUFBSSxJQUFBQyxzQkFBYSxFQUFDRCxjQUFjLENBQUMsRUFBRTtJQUNqQ0EsY0FBYyxHQUFHQSxjQUFjLENBQUNFLE1BQTJCO0VBQzdEO0VBQ0EsSUFBSSxDQUFDLElBQUFDLHFCQUFZLEVBQUNILGNBQWMsQ0FBQyxFQUFFO0VBQ25DLElBQUksQ0FBQ0EsY0FBYyxDQUFDSSxJQUFJLENBQUNDLFFBQVEsQ0FBQyxZQUFZLENBQUMsRUFBRTtFQUNqRCxPQUFPTCxjQUFjO0FBQ3ZCLENBQUM7QUFBQztBQUVLLElBQU1NLFdBQVcsR0FBRyxTQUFkQSxXQUFXLFFBTWE7RUFBQSxJQUxuQ04sY0FBYyxTQUFkQSxjQUFjO0lBQ2RPLE1BQU0sU0FBTkEsTUFBTTtFQUtOLElBQU1DLGFBQWEsR0FBRyxJQUFBQyxvQkFBVyxFQUFDRixNQUFNLEVBQUVQLGNBQWMsRUFBRVUsc0JBQVUsQ0FBQztFQUNyRSxJQUFJLENBQUNGLGFBQWEsRUFBRTtFQUVwQixJQUFJRyxTQUFTLEdBQUdILGFBQWEsQ0FBQ1QsSUFBSTtFQUNsQyxJQUFJLElBQUFFLHNCQUFhLEVBQUNVLFNBQVMsQ0FBQyxFQUFFO0lBQzVCQSxTQUFTLEdBQUdBLFNBQVMsQ0FBQ1QsTUFBTTtFQUM5QjtFQUNBLElBQUksQ0FBQyxJQUFBVSxtQkFBVSxFQUFDRCxTQUFTLENBQUMsRUFBRTtFQUU1QixJQUFJRSxRQUFRLEdBQUdGLFNBQVMsQ0FBQ1QsTUFBd0I7RUFDakQsSUFBSSxDQUFDVyxRQUFRLEVBQUU7RUFFZixJQUFJLElBQUFaLHNCQUFhLEVBQUNZLFFBQVEsQ0FBQyxFQUFFO0lBQzNCQSxRQUFRLEdBQUdBLFFBQVEsQ0FBQ1gsTUFBTTtFQUM1QjtFQUNBLElBQUksQ0FBQyxJQUFBQyxxQkFBWSxFQUFDVSxRQUFRLENBQUMsRUFBRTtFQUU3QixPQUFPQSxRQUFRO0FBQ2pCLENBQUM7QUFBQztBQUVLLElBQU1DLFdBQVcsR0FBRyxTQUFkQSxXQUFXLFFBTWE7RUFBQSxJQUxuQ0QsUUFBUSxTQUFSQSxRQUFRO0lBQ1JOLE1BQU0sU0FBTkEsTUFBTTtFQUtOLElBQU1RLFlBQVksR0FBRyxJQUFBTixvQkFBVyxFQUFDRixNQUFNLEVBQUVNLFFBQVEsRUFBRUcscUJBQVMsQ0FBQztFQUM3RCxJQUFJLENBQUNELFlBQVksRUFBRTtFQUVuQixJQUFJRSxRQUFRLEdBQUdGLFlBQVksQ0FBQ2hCLElBQUk7RUFDaEMsSUFBSSxDQUFDa0IsUUFBUSxFQUFFO0VBRWYsSUFBSSxJQUFBaEIsc0JBQWEsRUFBQ2dCLFFBQVEsQ0FBQyxFQUFFO0lBQzNCQSxRQUFRLEdBQUdBLFFBQVEsQ0FBQ2YsTUFBTTtFQUM1QjtFQUNBLElBQUksQ0FBQyxJQUFBQyxxQkFBWSxFQUFDYyxRQUFRLENBQUMsRUFBRTtFQUU3QixPQUFPQSxRQUFRO0FBQ2pCLENBQUM7QUFBQyJ9