import { Base } from './base';
const singleton = Symbol();
const singletonEnforcer = Symbol();
export class BaseService extends Base {
    constructor(enforcer) {
        super();
        if (enforcer !== singletonEnforcer) {
            throw new Error('Cannot construct singleton');
        }
        this._type = 'BaseService';
    }
    static get instance() {
        if (!this[singleton]) {
            this[singleton] = new BaseService(singletonEnforcer);
        }
        return this[singleton];
    }
    get type() {
        return this._type;
    }
    set type(value) {
        this._type = value;
    }
}
//# sourceMappingURL=base-service.js.map