smart-column-indenter
Version:
A smart source code indenter that indent the code into columns
26 lines • 1.18 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const TypeScriptLanguage_1 = require("./typescript/TypeScriptLanguage");
const XmlLanguage_1 = require("./xml/XmlLanguage");
class LanguageFactory {
static getLanguage(config, extension) {
const name = LanguageFactory.getLanguageName(config, extension);
switch (name) {
case "TypeScript": return new TypeScriptLanguage_1.default();
case "Xml": return new XmlLanguage_1.default();
default: throw new Error(`Language '${name}' doesn't exist.`);
}
}
static getLanguageName(config, extension) {
for (const language in config.languageExtensionsMap) {
if (config.languageExtensionsMap[language].indexOf(extension) > -1) {
return language;
}
}
//TODO: while we don't have other languages yet, lets try to scan it using TypeScript scanner for now
return "TypeScript";
//throw new Error(`Extension '${extension}' is not mapped to any Language.`);
}
}
exports.default = LanguageFactory;
//# sourceMappingURL=LanguageFactory.js.map