UNPKG

@pothos/plugin-add-graphql

Version:

A Pothos plugin for adding existing GraphQL types to a Pothos schema

50 lines (49 loc) 1.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: Object.getOwnPropertyDescriptor(all, name).get }); } _export(exports, { get addReferencedType () { return addReferencedType; }, get addTypeToSchema () { return addTypeToSchema; }, get referencedTypes () { return referencedTypes; } }); const _core = require("@pothos/core"); const _graphql = require("graphql"); const referencedTypes = (0, _core.createContextCache)(()=>new Set()); function addTypeToSchema(builder, type) { if (builder.configStore.hasConfig(type.name)) { return; } if ((0, _graphql.isObjectType)(type)) { builder.addGraphQLObject(type); } else if ((0, _graphql.isInterfaceType)(type)) { builder.addGraphQLInterface(type); } else if ((0, _graphql.isUnionType)(type)) { builder.addGraphQLUnion(type); } else if ((0, _graphql.isEnumType)(type)) { builder.addGraphQLEnum(type); } else if ((0, _graphql.isInputObjectType)(type)) { builder.addGraphQLInput(type); } else if ((0, _graphql.isScalarType)(type)) { builder.addScalarType(type.name, type); } } function addReferencedType(builder, type) { if (referencedTypes(builder).has(type)) { return; } builder.configStore.onPrepare(()=>addTypeToSchema(builder, type)); } //# sourceMappingURL=utils.js.map