@kazekyo/nau-graphql-codegen-preset
Version:
A GraphQL Code Generator preset for Nau
55 lines (54 loc) • 6.71 kB
JavaScript
;
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