@redocly/graphql-docs
Version:
Redocly GraphQL docs
2 lines (1 loc) • 1.16 kB
JavaScript
import{DEFAULT_MENU_GROUP_ID as y}from"../../models/index.js";const p=(e,t="item",n,o)=>e.length===1&&e[0].id===y?e[0].typeGroups.map(l=>$(l,`${n}`,"",t,o)):e.map(l=>T(l,t,n,o)),T=(e,t,n,o)=>{const s=`${n?`${n}`:""}${t==="none"?"":`${e.id}/`}`,i=t==="none"?`#${e.id}`:"";return{type:"group",label:e.name,slug:s,routeSlug:s,link:t==="none"?s+i:void 0,items:e.typeGroups.map(r=>$(r,s,e.id,t,o))}},$=(e,t,n,o,l)=>{const s=o==="none"?t:`${t}${e.typeGroupId}/`,i=o==="none"?`#${n?`${n}/`:""}${e.typeGroupId}`:"";return{type:"group",label:e.name,labelTranslationKey:e.labelTranslationKey,slug:s,routeSlug:s,link:s+i,items:e.items.map(r=>f(r,s,`${n?`${n}/`:""}${e.typeGroupId}`,o,e.typeGroupId,l))}},f=(e,t,n,o,l,s)=>{const i=o==="item"?`${t}${e}/`:t,r=o==="none"?`#${n}/${e}`:o==="section"?`#${e}`:"";let d=!1;return s&&(l==="queries"?d=!!s.getQueryType()?.getFields()[e]?.deprecationReason:l==="mutations"?d=!!s.getMutationType()?.getFields()[e]?.deprecationReason:l==="subscriptions"&&(d=!!s.getSubscriptionType()?.getFields()[e]?.deprecationReason)),{type:"link",label:e,link:i+r,slug:i,routeSlug:i,items:[],deprecated:d}};export{p as groupsToSidebarItems};