UNPKG

1.36 kBJavaScriptView Raw
1"use strict";
2var __importDefault = (this && this.__importDefault) || function (mod) {
3 return (mod && mod.__esModule) ? mod : { "default": mod };
4};
5Object.defineProperty(exports, "__esModule", { value: true });
6const ServiceLoader_1 = __importDefault(require("./java/ServiceLoader"));
7const StringBuilder_1 = __importDefault(require("./java/StringBuilder"));
8exports.default = {
9 /**
10 * Tries to load config class with SPI first, then with class name directly from classpath
11 *
12 * @param name name of config, or full qualified class name in classpath
13 * @return config class
14 */
15 forName(name) {
16 const loader = ServiceLoader_1.default.load('io.swagger.codegen.CodegenConfig');
17 const availableConfigs = StringBuilder_1.default();
18 for (const config of loader) {
19 if (config.getName() === name) {
20 return config;
21 }
22 availableConfigs.append(config.getName()).append('\n');
23 }
24 try {
25 const Code = require(name);
26 return Code.newInstance ? Code.newInstance() : new Code();
27 }
28 catch (e) {
29 throw new Error("Can't load config class with name ".concat(name) +
30 ' Available: ' +
31 availableConfigs.toString());
32 }
33 },
34};
35//# sourceMappingURL=CodegenConfigLoader.js.map
\No newline at end of file