graphbrainz/src/extensions/index.js
Brian Beck c3be2a2e98
More resolveType fixes, this time for Relay's nodeDefinitions (#51)
* More resolveType fixes, this time for Relay's nodeDefinitions

* Add a loadExtension helper

* Use createContext in test helpers
2017-11-18 00:35:28 -08:00

18 lines
514 B
JavaScript

export function loadExtension(extensionModule) {
let extension
if (typeof extensionModule === 'string') {
extension = require(extensionModule)
} else {
extension = extensionModule
}
if (extension == null || typeof extension !== 'object') {
throw new Error(
`Expected ${extensionModule} to export an extension but instead ` +
`got: ${extension}`
)
} else if (extension.default) {
// ECMAScript module interop.
extension = extension.default
}
return extension
}