Add some new tests and fix some comments

This commit is contained in:
Andrew Eisenberg 2022-11-23 16:16:02 -08:00
parent f79028af27
commit ad7ca9bf21
22 changed files with 339 additions and 68 deletions

22
lib/languages.js generated
View file

@ -1,6 +1,6 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isScannedLanguage = exports.isTracedLanguage = exports.parseLanguage = exports.KOTLIN_SWIFT_BYPASS = exports.LANGUAGE_ALIASES = exports.Language = void 0;
exports.isScannedLanguage = exports.isTracedLanguage = exports.parseLanguage = exports.resolveAlias = exports.KOTLIN_SWIFT_BYPASS = exports.LANGUAGE_ALIASES = exports.Language = void 0;
// All the languages supported by CodeQL
var Language;
(function (Language) {
@ -22,15 +22,29 @@ exports.LANGUAGE_ALIASES = {
typescript: Language.javascript,
};
exports.KOTLIN_SWIFT_BYPASS = ["kotlin", "swift"];
// Translate from user input or GitHub's API names for languages to CodeQL's names for languages
function resolveAlias(lang) {
return exports.LANGUAGE_ALIASES[lang] || lang;
}
exports.resolveAlias = resolveAlias;
/**
* Translate from user input or GitHub's API names for languages to CodeQL's
* names for languages. This does not translate a language alias to the actual
* language used by CodeQL.
*
* @param language The language to translate.
* @returns A language supported by CodeQL, an alias for a language, or
* `undefined` if the input language cannot be parsed into a langauge supported
* by CodeQL.
*/
function parseLanguage(language) {
// Normalise to lower case
language = language.toLowerCase();
language = language.trim().toLowerCase();
// See if it's an exact match
if (language in Language) {
return language;
}
// Check language aliases
// Check language aliases, but return the original language name,
// the alias will be resolved later.
if (language in exports.LANGUAGE_ALIASES) {
return language;
}