UNPKG

inceptum

Version:

hipages take on the foundational library for enterprise-grade apps written in NodeJS

33 lines 1.44 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PreinstantiatedSingletonDefinition = void 0; const Lifecycle_1 = require("../Lifecycle"); const LogManager_1 = require("../../log/LogManager"); const SingletonDefinition_1 = require("./SingletonDefinition"); class PreinstantiatedSingletonDefinition extends SingletonDefinition_1.SingletonDefinition { constructor(instance, name, logger) { if (typeof instance !== 'object') { throw new Error(`Only objects can be used as preinstatiated objects. Provided a ${typeof instance} for Object Definition ${name}`); } super(instance.constructor, name, logger || LogManager_1.LogManager.getLogger(__filename)); this.instance = instance; this.withLazyLoading(false); } getInstance() { this.setStatus(Lifecycle_1.LifecycleState.STARTED); return Promise.resolve(this.instance); } // tslint:disable-next-line:prefer-function-over-method doStart() { return Promise.resolve(); } // tslint:disable-next-line:prefer-function-over-method doStop() { return Promise.resolve(); } getCopyInstance() { return new PreinstantiatedSingletonDefinition(this.instance, this.name, this.logger); } } exports.PreinstantiatedSingletonDefinition = PreinstantiatedSingletonDefinition; //# sourceMappingURL=PreinstantiatedSingletonDefinition.js.map