UNPKG

type-graphql

Version:

Create GraphQL schema and resolvers with TypeScript, using classes and decorators!

40 lines (39 loc) 1.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ensureReflectMetadataExists = exports.mapMiddlewareMetadataToArray = exports.mapSuperFieldResolverHandlers = exports.mapSuperResolverHandlers = void 0; const errors_1 = require("../errors"); const isThrowing_1 = require("../helpers/isThrowing"); function mapSuperResolverHandlers(definitions, superResolver, resolverMetadata) { return definitions.map(metadata => metadata.target === superResolver ? { ...metadata, target: resolverMetadata.target, resolverClassMetadata: resolverMetadata, } : metadata); } exports.mapSuperResolverHandlers = mapSuperResolverHandlers; function mapSuperFieldResolverHandlers(definitions, superResolver, resolverMetadata) { const superMetadata = mapSuperResolverHandlers(definitions, superResolver, resolverMetadata); return superMetadata.map(metadata => metadata.target === superResolver ? { ...metadata, getObjectType: (0, isThrowing_1.isThrowing)(metadata.getObjectType) ? resolverMetadata.getObjectType : metadata.getObjectType, } : metadata); } exports.mapSuperFieldResolverHandlers = mapSuperFieldResolverHandlers; function mapMiddlewareMetadataToArray(metadata) { return metadata .map(m => m.middlewares) .reduce((middlewares, resultArray) => resultArray.concat(middlewares), []); } exports.mapMiddlewareMetadataToArray = mapMiddlewareMetadataToArray; function ensureReflectMetadataExists() { if (typeof Reflect !== "object" || typeof Reflect.getMetadata !== "function") { throw new errors_1.ReflectMetadataMissingError(); } } exports.ensureReflectMetadataExists = ensureReflectMetadataExists;