mirror of
https://github.com/BradNut/graphbrainz
synced 2025-09-08 17:40:32 +00:00
19 lines
514 B
JavaScript
19 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
|
||
|
|
}
|