Files
drop/server/plugins/metadata.ts
2024-10-04 13:01:06 +10:00

22 lines
685 B
TypeScript

import { MetadataHandler, MetadataProvider } from "../internal/metadata";
import { GiantBombProvider } from "../internal/metadata/giantbomb";
export const GlobalMedataHandler = new MetadataHandler();
const providerCreators: Array<() => MetadataProvider> = [() => new GiantBombProvider()];
export default defineNitroPlugin(async (nitro) => {
for (const creator of providerCreators) {
try {
const instance = creator();
GlobalMedataHandler.addProvider(instance);
}
catch (e) {
console.warn(e);
}
}
nitro.hooks.hook('request', (h3) => {
h3.context.metadataHandler = GlobalMedataHandler;
})
});