UNPKG

@kazekyo/nau-graphql-codegen-preset

Version:

A GraphQL Code Generator preset for Nau

46 lines (45 loc) 6.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.transform = void 0; var _nau = require("@kazekyo/nau"); var _graphql = require("graphql"); var _graphqlAST = require("../utils/graphqlAST"); function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } var transform = function transform(_ref) { var documentFiles = _ref.documentFiles; var files = documentFiles.map(function (file) { if (!file.document) return file; file.document = (0, _graphql.visit)(file.document, { Field: { leave: function leave(fieldNode) { if (!fieldNode.directives || !fieldNode.selectionSet) return fieldNode; var directives = (0, _graphqlAST.getDirectives)({ node: fieldNode, directiveNames: _nau.INSERT_NODE_DIRECTIVE_NAMES }); if (directives.length === 0) return fieldNode; var selectionSet = (0, _graphqlAST.addFieldToSelectionSetNodeWithoutDuplication)({ selectionSetNode: fieldNode.selectionSet, additionalFields: [_graphqlAST.idField, _graphqlAST.typenameField] }); return _objectSpread(_objectSpread({}, fieldNode), {}, { selectionSet: selectionSet }); } } }); return file; }); return { documentFiles: files }; }; exports.transform = transform; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ0cmFuc2Zvcm0iLCJkb2N1bWVudEZpbGVzIiwiZmlsZXMiLCJtYXAiLCJmaWxlIiwiZG9jdW1lbnQiLCJ2aXNpdCIsIkZpZWxkIiwibGVhdmUiLCJmaWVsZE5vZGUiLCJkaXJlY3RpdmVzIiwic2VsZWN0aW9uU2V0IiwiZ2V0RGlyZWN0aXZlcyIsIm5vZGUiLCJkaXJlY3RpdmVOYW1lcyIsIklOU0VSVF9OT0RFX0RJUkVDVElWRV9OQU1FUyIsImxlbmd0aCIsImFkZEZpZWxkVG9TZWxlY3Rpb25TZXROb2RlV2l0aG91dER1cGxpY2F0aW9uIiwic2VsZWN0aW9uU2V0Tm9kZSIsImFkZGl0aW9uYWxGaWVsZHMiLCJpZEZpZWxkIiwidHlwZW5hbWVGaWVsZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1zL2FkZEZpZWxkc0ZvckFkZGluZ05vZGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZXMgfSBmcm9tICdAZ3JhcGhxbC1jb2RlZ2VuL3BsdWdpbi1oZWxwZXJzJztcbmltcG9ydCB7IElOU0VSVF9OT0RFX0RJUkVDVElWRV9OQU1FUyB9IGZyb20gJ0BrYXpla3lvL25hdSc7XG5pbXBvcnQgeyB2aXNpdCB9IGZyb20gJ2dyYXBocWwnO1xuaW1wb3J0IHtcbiAgYWRkRmllbGRUb1NlbGVjdGlvblNldE5vZGVXaXRob3V0RHVwbGljYXRpb24sXG4gIGdldERpcmVjdGl2ZXMsXG4gIGlkRmllbGQsXG4gIHR5cGVuYW1lRmllbGQsXG59IGZyb20gJy4uL3V0aWxzL2dyYXBocWxBU1QnO1xuXG5leHBvcnQgY29uc3QgdHJhbnNmb3JtID0gKHtcbiAgZG9jdW1lbnRGaWxlcyxcbn06IHtcbiAgZG9jdW1lbnRGaWxlczogVHlwZXMuRG9jdW1lbnRGaWxlW107XG59KTogeyBkb2N1bWVudEZpbGVzOiBUeXBlcy5Eb2N1bWVudEZpbGVbXSB9ID0+IHtcbiAgY29uc3QgZmlsZXMgPSBkb2N1bWVudEZpbGVzLm1hcCgoZmlsZSkgPT4ge1xuICAgIGlmICghZmlsZS5kb2N1bWVudCkgcmV0dXJuIGZpbGU7XG5cbiAgICBmaWxlLmRvY3VtZW50ID0gdmlzaXQoZmlsZS5kb2N1bWVudCwge1xuICAgICAgRmllbGQ6IHtcbiAgICAgICAgbGVhdmUoZmllbGROb2RlKSB7XG4gICAgICAgICAgaWYgKCFmaWVsZE5vZGUuZGlyZWN0aXZlcyB8fCAhZmllbGROb2RlLnNlbGVjdGlvblNldCkgcmV0dXJuIGZpZWxkTm9kZTtcbiAgICAgICAgICBjb25zdCBkaXJlY3RpdmVzID0gZ2V0RGlyZWN0aXZlcyh7IG5vZGU6IGZpZWxkTm9kZSwgZGlyZWN0aXZlTmFtZXM6IElOU0VSVF9OT0RFX0RJUkVDVElWRV9OQU1FUyB9KTtcbiAgICAgICAgICBpZiAoZGlyZWN0aXZlcy5sZW5ndGggPT09IDApIHJldHVybiBmaWVsZE5vZGU7XG5cbiAgICAgICAgICBjb25zdCBzZWxlY3Rpb25TZXQgPSBhZGRGaWVsZFRvU2VsZWN0aW9uU2V0Tm9kZVdpdGhvdXREdXBsaWNhdGlvbih7XG4gICAgICAgICAgICBzZWxlY3Rpb25TZXROb2RlOiBmaWVsZE5vZGUuc2VsZWN0aW9uU2V0LFxuICAgICAgICAgICAgYWRkaXRpb25hbEZpZWxkczogW2lkRmllbGQsIHR5cGVuYW1lRmllbGRdLFxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgcmV0dXJuIHsgLi4uZmllbGROb2RlLCBzZWxlY3Rpb25TZXQgfTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgcmV0dXJuIGZpbGU7XG4gIH0pO1xuXG4gIHJldHVybiB7IGRvY3VtZW50RmlsZXM6IGZpbGVzIH07XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQTtBQUNBO0FBQ0E7QUFLNkI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRXRCLElBQU1BLFNBQVMsR0FBRyxTQUFaQSxTQUFTLE9BSXlCO0VBQUEsSUFIN0NDLGFBQWEsUUFBYkEsYUFBYTtFQUliLElBQU1DLEtBQUssR0FBR0QsYUFBYSxDQUFDRSxHQUFHLENBQUMsVUFBQ0MsSUFBSSxFQUFLO0lBQ3hDLElBQUksQ0FBQ0EsSUFBSSxDQUFDQyxRQUFRLEVBQUUsT0FBT0QsSUFBSTtJQUUvQkEsSUFBSSxDQUFDQyxRQUFRLEdBQUcsSUFBQUMsY0FBSyxFQUFDRixJQUFJLENBQUNDLFFBQVEsRUFBRTtNQUNuQ0UsS0FBSyxFQUFFO1FBQ0xDLEtBQUssaUJBQUNDLFNBQVMsRUFBRTtVQUNmLElBQUksQ0FBQ0EsU0FBUyxDQUFDQyxVQUFVLElBQUksQ0FBQ0QsU0FBUyxDQUFDRSxZQUFZLEVBQUUsT0FBT0YsU0FBUztVQUN0RSxJQUFNQyxVQUFVLEdBQUcsSUFBQUUseUJBQWEsRUFBQztZQUFFQyxJQUFJLEVBQUVKLFNBQVM7WUFBRUssY0FBYyxFQUFFQztVQUE0QixDQUFDLENBQUM7VUFDbEcsSUFBSUwsVUFBVSxDQUFDTSxNQUFNLEtBQUssQ0FBQyxFQUFFLE9BQU9QLFNBQVM7VUFFN0MsSUFBTUUsWUFBWSxHQUFHLElBQUFNLHdEQUE0QyxFQUFDO1lBQ2hFQyxnQkFBZ0IsRUFBRVQsU0FBUyxDQUFDRSxZQUFZO1lBQ3hDUSxnQkFBZ0IsRUFBRSxDQUFDQyxtQkFBTyxFQUFFQyx5QkFBYTtVQUMzQyxDQUFDLENBQUM7VUFFRix1Q0FBWVosU0FBUztZQUFFRSxZQUFZLEVBQVpBO1VBQVk7UUFDckM7TUFDRjtJQUNGLENBQUMsQ0FBQztJQUNGLE9BQU9QLElBQUk7RUFDYixDQUFDLENBQUM7RUFFRixPQUFPO0lBQUVILGFBQWEsRUFBRUM7RUFBTSxDQUFDO0FBQ2pDLENBQUM7QUFBQyJ9