@terabits/grapi
Version:
Grapi Schema Generator For GraphQL Server
30 lines (29 loc) • 1.31 kB
JavaScript
;
exports.__esModule = true;
exports.createRelationHooks = void 0;
var dataModel_1 = require("../dataModel");
var biOneToMany_1 = require("./biOneToMany");
var biOneToOne_1 = require("./biOneToOne");
var manyToMany_1 = require("./manyToMany");
var uniOneToMany_1 = require("./uniOneToMany");
var uniToOne_1 = require("./uniToOne");
var createRelationHooks = function (relations) {
return relations.map(function (relation) {
switch (relation.type) {
case dataModel_1.RelationType.uniManyToOne:
case dataModel_1.RelationType.uniOneToOne:
return (0, uniToOne_1.createHookMap)(relation);
case dataModel_1.RelationType.uniOneToMany:
return (0, uniOneToMany_1.createHookMap)(relation);
case dataModel_1.RelationType.biOneToOne:
return (0, biOneToOne_1.createHookMap)(relation);
case dataModel_1.RelationType.biOneToMany:
return (0, biOneToMany_1.createHookMap)(relation);
case dataModel_1.RelationType.biManyToMany:
return (0, manyToMany_1.createHookMap)(relation);
default:
throw new Error("unknown relation type ".concat(relation.type));
}
});
};
exports.createRelationHooks = createRelationHooks;