UNPKG

@pothos/plugin-federation

Version:

A Pothos plugin for implementing apollo federation subGraphs

94 lines (93 loc) 2.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: Object.getOwnPropertyDescriptor(all, name).get }); } _export(exports, { get addUsedDirectives () { return addUsedDirectives; }, get entityMapping () { return entityMapping; }, get getUsedDirectives () { return getUsedDirectives; }, get keyDirective () { return keyDirective; }, get mergeDirectives () { return mergeDirectives; }, get usedDirectives () { return usedDirectives; } }); function keyDirective(key) { if (Array.isArray(key)) { return key.map(({ selection, resolvable })=>({ name: 'key', args: { fields: selection, ...resolvable === undefined ? {} : { resolvable } } })); } return [ { name: 'key', args: { fields: key.selection, ...key.resolvable === undefined ? {} : { resolvable: key.resolvable } } } ]; } function mergeDirectives(existing, add) { if (!existing) { return [ ...add ]; } if (Array.isArray(existing)) { return [ ...existing, ...add ]; } return [ ...Object.keys(existing).map((name)=>({ name, args: existing[name] })), ...add ]; } const entityMapping = new WeakMap(); const usedDirectives = new Map(); function getUsedDirectives(builder) { builder.toSchema(); var _usedDirectives_get; return [ ...(_usedDirectives_get = usedDirectives.get(builder)) !== null && _usedDirectives_get !== void 0 ? _usedDirectives_get : new Set() ].map((d)=>d.startsWith('@') ? d : `@${d}`).sort(); } function addUsedDirectives(builder, directives) { if (!usedDirectives.has(builder)) { usedDirectives.set(builder, new Set()); } const set = usedDirectives.get(builder); for (const directive of directives){ set.add(directive); } } //# sourceMappingURL=util.js.map