lemon-core
Version:
Lemon Serverless Micro-Service Platform
52 lines • 2.18 kB
JavaScript
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ConfigModule = void 0;
/**
* `cores/config.index.tx`
* - config services for serverless micro-service.
*
*
* @author Steve Jung <steve@lemoncloud.io>
* @date 2018-05-23 initial version
* @date 2019-11-26 cleanup and optimized for `lemon-core#v2`
*
* @copyright (C) lemoncloud.io 2019 - All Rights Reserved.
*/
const engine_1 = require("../../engine/");
const config_service_1 = require("./config-service");
class ConfigModule {
constructor(engine) {
//! create default services
this.config = new config_service_1.MyConfigService();
this.getModuleName = () => 'config';
this.engine = engine || engine_1.$engine; // use input engine or global.
if (this.engine)
this.engine.register(this);
}
initModule(level) {
return __awaiter(this, void 0, void 0, function* () {
const $aws = this.engine.module('aws');
if (level === undefined) {
return $aws ? (yield $aws.initModule()) + 1 : 1;
}
// console.info(`! ConfigModule.init()..`);
// attach external service.
if ($aws)
this.config.kms = $aws.kms;
yield this.config.init();
});
}
}
exports.ConfigModule = ConfigModule;
//! create default instance, then export as default.
exports.default = new ConfigModule();
//# sourceMappingURL=index.js.map
;