UNPKG

@pothos/plugin-federation

Version:

A Pothos plugin for implementing apollo federation subGraphs

65 lines (64 loc) 1.75 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) { 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(); } 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