@vulcan-sql/core
Version:
Core package of VulcanSQL
44 lines • 1.52 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ExtensionBase = void 0;
const tslib_1 = require("tslib");
const types_1 = require("../../containers/types");
const inversify_1 = require("inversify");
require("reflect-metadata");
const decorators_1 = require("./decorators");
const utils_1 = require("../../lib/utils");
let ExtensionBase = class ExtensionBase {
constructor(config, moduleName) {
this.activated = false;
this.config = config;
this.moduleName = moduleName;
}
activate() {
var _a;
return tslib_1.__awaiter(this, void 0, void 0, function* () {
if (this.activated)
return;
yield ((_a = this.onActivate) === null || _a === void 0 ? void 0 : _a.call(this));
this.activated = true;
});
}
getExtensionId() {
return Reflect.getMetadata(decorators_1.EXTENSION_IDENTIFIER_METADATA_KEY, this.constructor);
}
getConfig() {
return this.config;
}
getLogger() {
return (0, utils_1.getLogger)({
scopeName: 'CORE',
});
}
};
ExtensionBase = tslib_1.__decorate([
(0, inversify_1.injectable)(),
tslib_1.__param(0, (0, inversify_1.inject)(types_1.TYPES.ExtensionConfig)),
tslib_1.__param(1, (0, inversify_1.inject)(types_1.TYPES.ExtensionName)),
tslib_1.__metadata("design:paramtypes", [Object, String])
], ExtensionBase);
exports.ExtensionBase = ExtensionBase;
//# sourceMappingURL=base.js.map