ern-api-gen
Version:
Electrode Native API generator
35 lines • 1.36 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const ServiceLoader_1 = __importDefault(require("./java/ServiceLoader"));
const StringBuilder_1 = __importDefault(require("./java/StringBuilder"));
exports.default = {
/**
* Tries to load config class with SPI first, then with class name directly from classpath
*
* @param name name of config, or full qualified class name in classpath
* @return config class
*/
forName(name) {
const loader = ServiceLoader_1.default.load('io.swagger.codegen.CodegenConfig');
const availableConfigs = StringBuilder_1.default();
for (const config of loader) {
if (config.getName() === name) {
return config;
}
availableConfigs.append(config.getName()).append('\n');
}
try {
const Code = require(name);
return Code.newInstance ? Code.newInstance() : new Code();
}
catch (e) {
throw new Error("Can't load config class with name ".concat(name) +
' Available: ' +
availableConfigs.toString());
}
},
};
//# sourceMappingURL=CodegenConfigLoader.js.map