UNPKG

@pothos/plugin-federation

Version:

A Pothos plugin for implementing apollo federation subGraphs

65 lines (64 loc) 1.79 kB
export 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 } } } ]; } export 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 ]; } export const entityMapping = new WeakMap(); // biome-ignore lint/suspicious/noExplicitAny: this is fine export const usedDirectives = new Map(); export function getUsedDirectives(builder) { var _usedDirectives_get; builder.toSchema(); return [ ...(_usedDirectives_get = usedDirectives.get(builder)) !== null && _usedDirectives_get !== void 0 ? _usedDirectives_get : new Set() ].map((d)=>d.startsWith('@') ? d : `@${d}`).sort(); } export 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