graphbrainz/src/extensions/index.js

19 lines
514 B
JavaScript
Raw Normal View History

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
}