UNPKG

react-cms

Version:

For personal use. Not production.

37 lines (25 loc) 766 B
export const getDirectiveValue = (source, args, context, info, Directive, field) => { if(!Directive){ return null; } const { fieldName, fieldNodes, variableValues, } = info; let result; let targetArgument = Directive.arguments && Directive.arguments.filter(n => n.name.value == field)[0] || null; let targetNameValueKind = targetArgument && targetArgument.value && targetArgument.value.kind; if(targetNameValueKind === "Variable"){ try{ result = variableValues && targetArgument.value && variableValues[targetArgument.value.name.value]; } catch(e){ console.error(e); } } else{ result = targetArgument && targetArgument.value && targetArgument.value.value || undefined; } return result; }