{"version":3,"file":"generic-morph.mjs","sources":["../../../../server/src/services/builders/generic-morph.ts"],"sourcesContent":["import { unionType } from 'nexus';\nimport { prop } from 'lodash/fp';\n\nimport type { Context } from '../types';\n\nexport default ({ strapi, registry }: Context) => {\n  const { naming } = strapi.plugin('graphql').service('utils');\n  const { KINDS, GENERIC_MORPH_TYPENAME } = strapi.plugin('graphql').service('constants');\n\n  return {\n    buildGenericMorphDefinition() {\n      return unionType({\n        name: GENERIC_MORPH_TYPENAME,\n\n        resolveType(obj: any) {\n          const contentType = strapi.getModel(obj.__type);\n\n          if (!contentType) {\n            return null;\n          }\n\n          if (contentType.modelType === 'component') {\n            return naming.getComponentName(contentType);\n          }\n\n          return naming.getTypeName(contentType);\n        },\n\n        definition(t: any) {\n          const members = registry\n            // Resolve every content-type or component\n            .where(({ config }) => [KINDS.type, KINDS.component].includes(config.kind))\n            // Only keep their name (the type's id)\n            .map(prop('name'));\n\n          t.members(...members);\n        },\n      });\n    },\n  };\n};\n"],"names":["strapi","registry","naming","plugin","service","KINDS","GENERIC_MORPH_TYPENAME","buildGenericMorphDefinition","unionType","name","resolveType","obj","contentType","getModel","__type","modelType","getComponentName","getTypeName","definition","t","members","where","config","type","component","includes","kind","map","prop"],"mappings":";;;AAKA,mBAAe,CAAA,CAAC,EAAEA,MAAM,EAAEC,QAAQ,EAAW,GAAA;IAC3C,MAAM,EAAEC,MAAM,EAAE,GAAGF,OAAOG,MAAM,CAAC,SAAWC,CAAAA,CAAAA,OAAO,CAAC,OAAA,CAAA;IACpD,MAAM,EAAEC,KAAK,EAAEC,sBAAsB,EAAE,GAAGN,MAAAA,CAAOG,MAAM,CAAC,SAAWC,CAAAA,CAAAA,OAAO,CAAC,WAAA,CAAA;IAE3E,OAAO;AACLG,QAAAA,2BAAAA,CAAAA,GAAAA;AACE,YAAA,OAAOC,SAAU,CAAA;gBACfC,IAAMH,EAAAA,sBAAAA;AAENI,gBAAAA,WAAAA,CAAAA,CAAYC,GAAQ,EAAA;AAClB,oBAAA,MAAMC,WAAcZ,GAAAA,MAAAA,CAAOa,QAAQ,CAACF,IAAIG,MAAM,CAAA;AAE9C,oBAAA,IAAI,CAACF,WAAa,EAAA;wBAChB,OAAO,IAAA;AACT;oBAEA,IAAIA,WAAAA,CAAYG,SAAS,KAAK,WAAa,EAAA;wBACzC,OAAOb,MAAAA,CAAOc,gBAAgB,CAACJ,WAAAA,CAAAA;AACjC;oBAEA,OAAOV,MAAAA,CAAOe,WAAW,CAACL,WAAAA,CAAAA;AAC5B,iBAAA;AAEAM,gBAAAA,UAAAA,CAAAA,CAAWC,CAAM,EAAA;oBACf,MAAMC,OAAAA,GAAUnB,QACd;AACCoB,qBAAAA,KAAK,CAAC,CAAC,EAAEC,MAAM,EAAE,GAAK;AAACjB,4BAAAA,KAAAA,CAAMkB,IAAI;AAAElB,4BAAAA,KAAAA,CAAMmB;AAAU,yBAAA,CAACC,QAAQ,CAACH,MAAOI,CAAAA,IAAI,EACzE;AACCC,qBAAAA,GAAG,CAACC,IAAK,CAAA,MAAA,CAAA,CAAA;AAEZT,oBAAAA,CAAAA,CAAEC,OAAO,CAAIA,GAAAA,OAAAA,CAAAA;AACf;AACF,aAAA,CAAA;AACF;AACF,KAAA;AACF,CAAA;;;;"}