polen
Version:
A framework for delightful GraphQL developer portals
59 lines • 5.52 kB
JavaScript
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
import { Code } from '@radix-ui/themes';
import { ChangeBase } from '../ChangeBase.js';
export const DirectiveUsage = ({ change }) => {
const isAdded = change.type.includes(`_ADDED`);
const action = isAdded ? `Added` : `Removed`;
const preposition = isAdded ? `to` : `from`;
// Helper to get the directive name based on whether it's added or removed
const getDirectiveName = () => {
if (`addedDirectiveName` in change.meta) {
return change.meta.addedDirectiveName;
}
if (`removedDirectiveName` in change.meta) {
return change.meta.removedDirectiveName;
}
return ``;
};
const directiveName = getDirectiveName();
switch (change.type) {
case `DIRECTIVE_USAGE_UNION_MEMBER_ADDED`:
return (_jsxs(ChangeBase, { change: change, children: [action, " directive ", _jsxs(Code, { children: ["@", directiveName] }), " ", preposition, " union member", ' ', _jsx(Code, { children: change.meta.addedUnionMemberTypeName }), " on union ", _jsx(Code, { children: change.meta.unionName })] }));
case `DIRECTIVE_USAGE_UNION_MEMBER_REMOVED`:
return (_jsxs(ChangeBase, { change: change, children: [action, " directive ", _jsxs(Code, { children: ["@", directiveName] }), " ", preposition, " union member", ' ', _jsx(Code, { children: change.meta.removedUnionMemberTypeName }), " on union ", _jsx(Code, { children: change.meta.unionName })] }));
case `DIRECTIVE_USAGE_ENUM_ADDED`:
case `DIRECTIVE_USAGE_ENUM_REMOVED`:
return (_jsxs(ChangeBase, { change: change, children: [action, " directive ", _jsxs(Code, { children: ["@", directiveName] }), " ", preposition, " enum ", _jsx(Code, { children: change.meta.enumName })] }));
case `DIRECTIVE_USAGE_ENUM_VALUE_ADDED`:
case `DIRECTIVE_USAGE_ENUM_VALUE_REMOVED`:
return (_jsxs(ChangeBase, { change: change, children: [action, " directive ", _jsxs(Code, { children: ["@", directiveName] }), " ", preposition, " enum value", ' ', _jsx(Code, { children: change.meta.enumValueName }), " on ", _jsx(Code, { children: change.meta.enumName })] }));
case `DIRECTIVE_USAGE_INPUT_OBJECT_ADDED`:
case `DIRECTIVE_USAGE_INPUT_OBJECT_REMOVED`:
return (_jsxs(ChangeBase, { change: change, children: [action, " directive ", _jsxs(Code, { children: ["@", directiveName] }), " ", preposition, " input object", ' ', _jsx(Code, { children: change.meta.inputObjectName })] }));
case `DIRECTIVE_USAGE_FIELD_ADDED`:
case `DIRECTIVE_USAGE_FIELD_REMOVED`:
return (_jsxs(ChangeBase, { change: change, children: [action, " directive ", _jsxs(Code, { children: ["@", directiveName] }), " ", preposition, " field ", _jsx(Code, { children: change.meta.fieldName }), " on", ' ', _jsx(Code, { children: change.meta.typeName })] }));
case `DIRECTIVE_USAGE_SCALAR_ADDED`:
case `DIRECTIVE_USAGE_SCALAR_REMOVED`:
return (_jsxs(ChangeBase, { change: change, children: [action, " directive ", _jsxs(Code, { children: ["@", directiveName] }), " ", preposition, " scalar ", _jsx(Code, { children: change.meta.scalarName })] }));
case `DIRECTIVE_USAGE_OBJECT_ADDED`:
case `DIRECTIVE_USAGE_OBJECT_REMOVED`:
return (_jsxs(ChangeBase, { change: change, children: [action, " directive ", _jsxs(Code, { children: ["@", directiveName] }), " ", preposition, " object ", _jsx(Code, { children: change.meta.objectName })] }));
case `DIRECTIVE_USAGE_INTERFACE_ADDED`:
case `DIRECTIVE_USAGE_INTERFACE_REMOVED`:
return (_jsxs(ChangeBase, { change: change, children: [action, " directive ", _jsxs(Code, { children: ["@", directiveName] }), " ", preposition, " interface", ' ', _jsx(Code, { children: change.meta.interfaceName })] }));
case `DIRECTIVE_USAGE_ARGUMENT_DEFINITION_ADDED`:
case `DIRECTIVE_USAGE_ARGUMENT_DEFINITION_REMOVED`:
return (_jsxs(ChangeBase, { change: change, children: [action, " directive ", _jsxs(Code, { children: ["@", directiveName] }), " ", preposition, " argument", ' ', _jsx(Code, { children: change.meta.argumentName }), " on ", _jsx(Code, { children: change.meta.fieldName }), " field on", ' ', _jsx(Code, { children: change.meta.typeName })] }));
case `DIRECTIVE_USAGE_SCHEMA_ADDED`:
case `DIRECTIVE_USAGE_SCHEMA_REMOVED`:
return (_jsxs(ChangeBase, { change: change, children: [action, " directive ", _jsxs(Code, { children: ["@", directiveName] }), " ", preposition, " schema"] }));
case `DIRECTIVE_USAGE_FIELD_DEFINITION_ADDED`:
case `DIRECTIVE_USAGE_FIELD_DEFINITION_REMOVED`:
return (_jsxs(ChangeBase, { change: change, children: [action, " directive ", _jsxs(Code, { children: ["@", directiveName] }), " ", preposition, " field definition", ' ', _jsx(Code, { children: change.meta.fieldName }), " on ", _jsx(Code, { children: change.meta.typeName })] }));
case `DIRECTIVE_USAGE_INPUT_FIELD_DEFINITION_ADDED`:
case `DIRECTIVE_USAGE_INPUT_FIELD_DEFINITION_REMOVED`:
return (_jsxs(ChangeBase, { change: change, children: [action, " directive ", _jsxs(Code, { children: ["@", directiveName] }), " ", preposition, " input field", ' ', _jsx(Code, { children: change.meta.inputFieldName }), " on ", _jsx(Code, { children: change.meta.inputObjectName })] }));
}
};
//# sourceMappingURL=DirectiveUsage.js.map