UNPKG

@aws-amplify/graphql-transformer-core

Version:

A framework to transform from GraphQL SDL to AWS CloudFormation.

45 lines 3.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getType = exports.getField = exports.fieldsWithSqlDirective = exports.isBuiltInGraphqlNode = exports.isSubscriptionNode = exports.isQueryNode = exports.isMutationNode = exports.isBuiltInGraphqlType = exports.isSubscriptionType = exports.isQueryType = exports.isMutationType = exports.isObjectTypeExtensionNode = exports.isObjectTypeDefinitionNode = void 0; const graphql_1 = require("graphql"); const SQL_DIRECTIVE_NAME = 'sql'; const isObjectTypeDefinitionNode = (obj) => { return obj.kind === graphql_1.Kind.OBJECT_TYPE_DEFINITION || obj.kind === graphql_1.Kind.INTERFACE_TYPE_DEFINITION; }; exports.isObjectTypeDefinitionNode = isObjectTypeDefinitionNode; const isObjectTypeExtensionNode = (obj) => obj.kind === graphql_1.Kind.OBJECT_TYPE_EXTENSION; exports.isObjectTypeExtensionNode = isObjectTypeExtensionNode; const isMutationType = (typeName) => typeName === 'Mutation'; exports.isMutationType = isMutationType; const isQueryType = (typeName) => typeName === 'Query'; exports.isQueryType = isQueryType; const isSubscriptionType = (typeName) => typeName === 'Subscription'; exports.isSubscriptionType = isSubscriptionType; const isBuiltInGraphqlType = (typeName) => (0, exports.isMutationType)(typeName) || (0, exports.isQueryType)(typeName) || (0, exports.isSubscriptionType)(typeName); exports.isBuiltInGraphqlType = isBuiltInGraphqlType; const isMutationNode = (obj) => { return ((0, exports.isObjectTypeDefinitionNode)(obj) || (0, exports.isObjectTypeExtensionNode)(obj)) && (0, exports.isMutationType)(obj.name.value); }; exports.isMutationNode = isMutationNode; const isQueryNode = (obj) => { return ((0, exports.isObjectTypeDefinitionNode)(obj) || (0, exports.isObjectTypeExtensionNode)(obj)) && (0, exports.isQueryType)(obj.name.value); }; exports.isQueryNode = isQueryNode; const isSubscriptionNode = (obj) => { return ((0, exports.isObjectTypeDefinitionNode)(obj) || (0, exports.isObjectTypeExtensionNode)(obj)) && (0, exports.isSubscriptionType)(obj.name.value); }; exports.isSubscriptionNode = isSubscriptionNode; const isBuiltInGraphqlNode = (obj) => { return (0, exports.isMutationNode)(obj) || (0, exports.isQueryNode)(obj) || (0, exports.isSubscriptionNode)(obj); }; exports.isBuiltInGraphqlNode = isBuiltInGraphqlNode; const fieldsWithSqlDirective = (obj) => { var _a, _b; return (_b = (_a = obj.fields) === null || _a === void 0 ? void 0 : _a.filter((field) => { var _a; return (_a = field.directives) === null || _a === void 0 ? void 0 : _a.some((directive) => directive.name.value === SQL_DIRECTIVE_NAME); })) !== null && _b !== void 0 ? _b : []; }; exports.fieldsWithSqlDirective = fieldsWithSqlDirective; const getField = (obj, fieldName) => { var _a; return (_a = obj.fields) === null || _a === void 0 ? void 0 : _a.find((f) => f.name.value === fieldName); }; exports.getField = getField; const getType = (schema, typeName) => schema.definitions.find((def) => (0, exports.isObjectTypeDefinitionNode)(def) && def.name.value === typeName); exports.getType = getType; //# sourceMappingURL=graphql-utils.js.map