2016-08-31 06:33:29 +00:00
|
|
|
import { GraphQLInterfaceType } from 'graphql'
|
2016-12-02 08:21:10 +00:00
|
|
|
import { mbid, connectionWithExtras } from './helpers'
|
2016-08-08 07:54:06 +00:00
|
|
|
|
2016-12-02 08:21:10 +00:00
|
|
|
const Entity = new GraphQLInterfaceType({
|
2016-08-08 07:54:06 +00:00
|
|
|
name: 'Entity',
|
2016-08-20 05:59:32 +00:00
|
|
|
description: 'An entity in the MusicBrainz schema.',
|
|
|
|
|
resolveType (value) {
|
2016-11-28 13:49:04 +00:00
|
|
|
if (value._type && require.resolve(`./${value._type}`)) {
|
|
|
|
|
return require(`./${value._type}`).default
|
2016-08-20 05:59:32 +00:00
|
|
|
}
|
|
|
|
|
},
|
2016-11-28 13:49:04 +00:00
|
|
|
fields: () => ({ mbid })
|
2016-08-08 07:54:06 +00:00
|
|
|
})
|
2016-12-02 08:21:10 +00:00
|
|
|
|
|
|
|
|
export const EntityConnection = connectionWithExtras(Entity)
|
|
|
|
|
export default Entity
|