33 lines
535 B
JavaScript
Raw Normal View History

'use strict';
const _ = require('lodash');
/**
* Merges
*/
const mergeSchemas = (root, ...subs) => {
subs.forEach(sub => {
if (_.isEmpty(sub)) return;
const { definition = '', query = {}, mutation = {}, resolvers = {} } = sub;
root.definition += '\n' + definition;
_.merge(root, {
query,
mutation,
resolvers,
});
});
};
const createDefaultSchema = () => ({
definition: '',
query: '',
mutation: '',
resolvers: {},
});
module.exports = {
mergeSchemas,
createDefaultSchema,
};