import { FastifyPluginAsync } from "fastify";
import fp from "fastify-plugin";
import languagesMap from "language-map";
import languageDetect from "language-detect";
import { makeCodeAnalysisService } from "../services/codeAnalysis";
const serviceKey = "codeAnalysisService";
export const codeAnalysisPlugin: FastifyPluginAsync<never> = fp(
async (server) => {
const service = makeCodeAnalysisService({
languageDetect,
languagesMap,
});
server.decorate(serviceKey, {
getter: () => service,
});
server.decorateRequest(serviceKey, {
getter: () => service,
});
}
);