@cran/gql.jm
Version:
Cran/GraphQL Join Monster Utilities
29 lines (28 loc) • 1.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.withSqlJunctionInclude = void 0;
const gql_core_1 = require("@cran/gql.core");
function withSqlJunctionInclude(name = "sqlJunctionInclude") {
return (0, gql_core_1.createDirective)(name, {
name: "text!",
link: "text",
deps: "[text!]",
expr: "text",
}, {
[gql_core_1.MapperKind.COMPOSITE_FIELD]([directive,], field) {
const include = {
sqlColumn: directive.link || directive.name,
};
if (directive.deps) {
include.sqlDeps = directive.deps;
}
if (directive.expr) {
include.sqlExpr = new gql_core_1.Executable("sqlExpr", directive.expr);
}
(0, gql_core_1.getExtension)(field, "joinMonsterIncludes", []).push([
directive.name, include,
]);
},
});
}
exports.withSqlJunctionInclude = withSqlJunctionInclude;