use enum
This commit is contained in:
parent
00eee2b7ee
commit
1943ed432b
3 changed files with 30 additions and 18 deletions
|
|
@ -1,13 +1,19 @@
|
|||
// All the languages supported by CodeQL
|
||||
export const ALL_LANGUAGES = ['csharp', 'cpp', 'go', 'java', 'javascript', 'python'] as const;
|
||||
export type Language = (typeof ALL_LANGUAGES)[number];
|
||||
export enum Language {
|
||||
csharp = 'csharp',
|
||||
cpp = 'cpp',
|
||||
go = 'go',
|
||||
java = 'java',
|
||||
javascript = 'javascript',
|
||||
python = 'python',
|
||||
}
|
||||
|
||||
// Additional names for languages
|
||||
const LANGUAGE_ALIASES: {[lang: string]: Language} = {
|
||||
'c': 'cpp',
|
||||
'c++': 'cpp',
|
||||
'c#': 'csharp',
|
||||
'typescript': 'javascript',
|
||||
'c': Language.cpp,
|
||||
'c++': Language.cpp,
|
||||
'c#': Language.csharp,
|
||||
'typescript': Language.javascript,
|
||||
};
|
||||
|
||||
// Translate from user input or GitHub's API names for languages to CodeQL's names for languages
|
||||
|
|
@ -16,9 +22,8 @@ export function parseLanguage(language: string): Language | undefined {
|
|||
language = language.toLowerCase();
|
||||
|
||||
// See if it's an exact match
|
||||
const parsedLanguage = ALL_LANGUAGES.find(l => l === language);
|
||||
if (parsedLanguage !== undefined) {
|
||||
return parsedLanguage;
|
||||
if (language in Language) {
|
||||
return language as Language;
|
||||
}
|
||||
|
||||
// Check language aliases
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue