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

export interface LinguistFileInfos {
  color: string;
  extensions: string[];
  filenames?: string[];
  group?: string;
  language: string;
  languageDisplayName: string;
  languageId: number;
  mimeType: string;
  type: string;
}

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;
}