UNPKG

lemon-core

Version:
52 lines 2.18 kB
"use strict"; 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