@tsclean/core
Version:
Plugin for API Rest Full development, based on Clean Architecture, IoC and Dependency Injection.
17 lines • 2.8 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.loadAdapter = loadAdapter;
const services_1 = require("../services");
const MISSING_REQUIRED_DEPENDENCY = (defaultPlatform, transport) => `No driver (${transport}) has been selected. In order to take advantage of the default driver, please, ensure to install the "${defaultPlatform}" package ($ npm install ${defaultPlatform}).`;
const logger = new services_1.Logger('PackageLoader');
function loadAdapter(defaultPlatform, transport, loaderFn) {
console.log("load Adapter", defaultPlatform, transport, loaderFn);
try {
return loaderFn ? loaderFn() : require(defaultPlatform);
}
catch (e) {
logger.error(MISSING_REQUIRED_DEPENDENCY(defaultPlatform, transport));
process.exit(1);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hlbHBlcnMvbG9hZC1hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBT0Esa0NBU0M7QUFoQkQsMENBQW1DO0FBRW5DLE1BQU0sMkJBQTJCLEdBQUcsQ0FBQyxlQUF1QixFQUFFLFNBQWlCLEVBQUUsRUFBRSxDQUNqRixjQUFjLFNBQVMseUdBQXlHLGVBQWUsNEJBQTRCLGVBQWUsSUFBSSxDQUFDO0FBRWpNLE1BQU0sTUFBTSxHQUFHLElBQUksaUJBQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUUzQyxTQUFnQixXQUFXLENBQ3pCLGVBQXVCLEVBQUUsU0FBaUIsRUFBRSxRQUFtQjtJQUM3RCxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3BFLElBQUksQ0FBQztRQUNILE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1gsTUFBTSxDQUFDLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxlQUFlLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUN0RSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtMb2dnZXJ9IGZyb20gXCIuLi9zZXJ2aWNlc1wiO1xuXG5jb25zdCBNSVNTSU5HX1JFUVVJUkVEX0RFUEVOREVOQ1kgPSAoZGVmYXVsdFBsYXRmb3JtOiBzdHJpbmcsIHRyYW5zcG9ydDogc3RyaW5nKSA9PlxuICBgTm8gZHJpdmVyICgke3RyYW5zcG9ydH0pIGhhcyBiZWVuIHNlbGVjdGVkLiBJbiBvcmRlciB0byB0YWtlIGFkdmFudGFnZSBvZiB0aGUgZGVmYXVsdCBkcml2ZXIsIHBsZWFzZSwgZW5zdXJlIHRvIGluc3RhbGwgdGhlIFwiJHtkZWZhdWx0UGxhdGZvcm19XCIgcGFja2FnZSAoJCBucG0gaW5zdGFsbCAke2RlZmF1bHRQbGF0Zm9ybX0pLmA7XG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoJ1BhY2thZ2VMb2FkZXInKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRBZGFwdGVyKFxuICBkZWZhdWx0UGxhdGZvcm06IHN0cmluZywgdHJhbnNwb3J0OiBzdHJpbmcsIGxvYWRlckZuPzogRnVuY3Rpb24pIHtcbiAgICBjb25zb2xlLmxvZyhcImxvYWQgQWRhcHRlclwiLCBkZWZhdWx0UGxhdGZvcm0sIHRyYW5zcG9ydCwgbG9hZGVyRm4pO1xuICB0cnkge1xuICAgIHJldHVybiBsb2FkZXJGbiA/IGxvYWRlckZuKCkgOiByZXF1aXJlKGRlZmF1bHRQbGF0Zm9ybSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBsb2dnZXIuZXJyb3IoTUlTU0lOR19SRVFVSVJFRF9ERVBFTkRFTkNZKGRlZmF1bHRQbGF0Zm9ybSwgdHJhbnNwb3J0KSk7XG4gICAgcHJvY2Vzcy5leGl0KDEpO1xuICB9XG59XG4iXX0=