GitFOSS
.ts
TypeScript
(application/typescript)
// 1st-party
import type { ServiceApiContract } from "@ethicdevs/react-monolith";
// app
import type {
  LanguageDetectFn,
  LanguagesMap,
  LinguistFileInfos,
} from "../../types";

export interface CodeAnalysisServiceAPI extends ServiceApiContract {
  getLinguistFileInfos(
    path: string,
    content?: string
  ): Promise<LinguistFileInfos>;
}

export interface CodeAnalysisServiceDeps {
  extsMimeTypesMap: { [extension: string]: string };
  getFilePathExt: (path: string) => string;
  imageExts: string[];
  isImageFilePath: (path: string) => boolean;
  languageDetect: LanguageDetectFn;
  languagesMap: LanguagesMap;
}