UNPKG

@akumzy/gri-prisma-select

Version:

Generate Prisma select object from GraphQL Resolve Info.

25 lines 1.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.toPrismaSelectDirectiveTransformer = void 0; const utils_1 = require("@graphql-tools/utils"); const toPrismaSelect_1 = require("./toPrismaSelect"); function toPrismaSelectDirectiveTransformer(schema, directiveName) { return (0, utils_1.mapSchema)(schema, { // Executes once for each object field definition in the schema [utils_1.MapperKind.OBJECT_FIELD]: (fieldConfig) => { var _a; const directive = (_a = (0, utils_1.getDirective)(schema, fieldConfig, directiveName)) === null || _a === void 0 ? void 0 : _a[0]; if (directive) { const { resolve } = fieldConfig; fieldConfig.resolve = async function (source, arg, ctx, info) { const prismaSelect = await (0, toPrismaSelect_1.toPrismaSelect)(info); ctx = { ...ctx, prismaSelect }; return resolve === null || resolve === void 0 ? void 0 : resolve.apply(this, [source, arg, ctx, info]); }; } return fieldConfig; }, }); } exports.toPrismaSelectDirectiveTransformer = toPrismaSelectDirectiveTransformer; //# sourceMappingURL=directive.js.map