graphbrainz/src/types/node.js
2016-11-25 17:38:32 -08:00

22 lines
573 B
JavaScript

import { nodeDefinitions, fromGlobalId } from 'graphql-relay'
import { toDashed } from './helpers'
const { nodeInterface, nodeField } = nodeDefinitions(
(globalID, { loaders }) => {
const { type, id } = fromGlobalId(globalID)
const entityType = toDashed(type)
return loaders.lookup.load([entityType, id])
},
(obj) => {
console.log(obj.entityType)
try {
return require(`./${obj.entityType}`).default
} catch (err) {
console.error(err)
return null
}
}
)
export default nodeInterface
export { nodeInterface, nodeField }