UNPKG

@cran/gql.jm

Version:

Cran/GraphQL Join Monster Utilities

25 lines (24 loc) 827 B
import { Executable, MapperKind, createDirective, getExtension } from "@cran/gql.core"; export function withSqlJunctionInclude(name = "sqlJunctionInclude") { return createDirective(name, { name: "text!", link: "text", deps: "[text!]", expr: "text", }, { [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 Executable("sqlExpr", directive.expr); } getExtension(field, "joinMonsterIncludes", []).push([ directive.name, include, ]); }, }); }