@userlab/dx
Version:
Build efficient GraphQL backend
33 lines (32 loc) • 1.25 kB
JavaScript
;
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getObjectType = void 0;
var graphql_1 = require("graphql");
var setExtension_1 = require("./setExtension");
var getObjectType = function (_a) {
var name = _a.name, description = _a.description, table = _a.table, uniqueKey = _a.uniqueKey, fields = _a.fields, relations = _a.relations;
var objectType = new graphql_1.GraphQLObjectType({
name: name,
description: description,
fields: function () { return (__assign(__assign({}, setExtension_1.setExtension(fields)), setExtension_1.setExtension(relations ? relations() : {}))); },
extensions: {
joinMonster: {
sqlTable: table,
uniqueKey: uniqueKey,
},
},
});
return objectType;
};
exports.getObjectType = getObjectType;