UNPKG

smart-column-indenter

Version:

A smart source code indenter that indent the code into columns

26 lines 1.18 kB
"use strict"; 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