gitfoss-fork-fork | c238480a1e932b016d5d73b229774b18064ddee4 | app/plugins/codeAnalysis.ts ∙ GitFOSS
.ts
TypeScript
(application/typescript)
// 3rd-party
import { FastifyPluginAsync } from "fastify";
import fp from "fastify-plugin";
import languagesMap from "language-map";
import languageDetect from "language-detect";
// app
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,
    });
  }
);