graphbrainz
Version:
A GraphQL schema, Express server, and middleware for querying the MusicBrainz.
19 lines (18 loc) • 531 B
JavaScript
export async function loadExtension(extensionModule) {
let extension;
if (typeof extensionModule === 'string') {
extension = await import(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;
}