"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var singleton = Symbol();
var singletonEnforcer = Symbol();
var StateService = /** @class */ (function () {
    // _store: any = {};
    // _defaults: any;
    function StateService(enforcer) {
        if (enforcer !== singletonEnforcer) {
            throw new Error('Cannot construct singleton');
        }
        this._type = 'StateService';
    }
    Object.defineProperty(StateService, "instance", {
        get: function () {
            if (!this[singleton]) {
                this[singleton] = new StateService(singletonEnforcer);
            }
            return this[singleton];
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(StateService.prototype, "type", {
        // public get(key: any) {
        //     return this._store[key];
        // }
        //
        // public set(key: any, value: any) {
        //     return this._store[key] = value;
        // }
        get: function () {
            return this._type;
        },
        set: function (value) {
            this._type = value;
        },
        enumerable: true,
        configurable: true
    });
    return StateService;
}());
exports.StateService = StateService;
//# sourceMappingURL=state-service.js.map