UNPKG

join-monster-modularizer

Version:

A simple package that helps you modularize your join-monster metadata

62 lines (47 loc) 1.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.combineMetadata = exports.addJmType = exports.extendJmMutation = exports.extendJmQuery = void 0; var _lodash = _interopRequireDefault(require("lodash.merge")); var _requireAll = _interopRequireDefault(require("require-all")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const combinedMetadataPublic = {}; const combinedMetadataComplete = {}; const extendJmQuery = function (name, metadataObj, addAsPrivate) { (0, _lodash.default)(addAsPrivate ? combinedMetadataComplete : combinedMetadataPublic, { Query: { fields: { [name]: metadataObj } } }); }; // names can be an object or an array exports.extendJmQuery = extendJmQuery; const extendJmMutation = function (names, metadata, addAsPrivate) { const nameList = Array.isArray(names) ? names : [names]; for (let index in nameList) { (0, _lodash.default)(addAsPrivate ? combinedMetadataComplete : combinedMetadataPublic, { Mutation: { fields: { [nameList[index]]: metadata } } }); } }; exports.extendJmMutation = extendJmMutation; const addJmType = function (name, metadataObj, addAsPrivate) { (0, _lodash.default)(addAsPrivate ? combinedMetadataComplete : combinedMetadataPublic, { [name]: metadataObj }); }; exports.addJmType = addJmType; const combineMetadata = function (directory = '') { const path = __dirname + '/../../../' + directory; (0, _requireAll.default)({ dirname: path }); return [combinedMetadataPublic, combinedMetadataComplete]; }; exports.combineMetadata = combineMetadata;