UNPKG

@cran/gql.jm

Version:

Cran/GraphQL Join Monster Utilities

27 lines (26 loc) 1.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.withSqlResolverRaw = void 0; const gql_core_1 = require("@cran/gql.core"); function withSqlResolverRaw(name = "sqlResolverRaw") { return (0, gql_core_1.createDirective)(name, { query: "text!", field: "text", value: "text", }, { [gql_core_1.MapperKind.COMPOSITE_FIELD]([directive,], field) { field.resolve = async function resolver(source, args, context, info) { const sql = new gql_core_1.Executable("sqlResolverRawQuery", directive.query)(source, args, context, info); if (context.ctx?.queries) { context.ctx.queries.push(sql); } const { rows, } = await context.query(sql); const result = directive.field ? rows[0]?.[directive.field] : rows; return directive.value ? new gql_core_1.Executable("sqlResolverRawValue", directive.value)(result, args, context, info) : result; }; }, }); } exports.withSqlResolverRaw = withSqlResolverRaw;