{"code":"import contextFactory from './factory';\r\nimport { isType, assign } from './utils';\r\nvar Store = /** @class */ (function () {\r\n    function Store(defaultData) {\r\n        this.store = defaultData;\r\n        this.updaters = {};\r\n    }\r\n    Object.defineProperty(Store.prototype, \"data\", {\r\n        get: function () {\r\n            return this.store;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Store.prototype.update = function (store, callback) {\r\n        var _this = this;\r\n        Object.keys(store).map(function (key) {\r\n            if (!_this.updaters[key]) {\r\n                throw new Error(\"KV Store:\\n Uncaught ReferenceError: \" + store + \" Store is not defined.\");\r\n            }\r\n            var newStore = assign(stores.data[key].dataCopy, store[key]);\r\n            stores.data[key].dataCopy = newStore;\r\n            _this.updaters[key](newStore, callback);\r\n            return key;\r\n        });\r\n    };\r\n    return Store;\r\n}());\r\nexport var stores = new Store({});\r\nvar Adapter = /** @class */ (function () {\r\n    function Adapter(adapter, values) {\r\n        this.values = values;\r\n        this.adapter = adapter;\r\n    }\r\n    return Adapter;\r\n}());\r\nexport { Adapter };\r\nexport var setStore = function (updateStore, callback) {\r\n    stores.update(updateStore, callback);\r\n};\r\nvar extractSetStateFunc = function (storeName, fn) {\r\n    stores.updaters[storeName] = fn;\r\n};\r\nexport default function (storeTemp) {\r\n    if (!isType(storeTemp, 'Object') && !isType(storeTemp, 'Function')) {\r\n        throw new Error(\"KV Store:\\n TypeError: The argument to the createStore method must be an object or function, But got an \" + isType(storeTemp) + \".\");\r\n    }\r\n    var waitBoundStore = null;\r\n    if (typeof storeTemp === 'function') {\r\n        waitBoundStore = storeTemp();\r\n    }\r\n    else {\r\n        waitBoundStore = storeTemp;\r\n    }\r\n    Object.keys(waitBoundStore).map(function (key) {\r\n        var nowBuilder = waitBoundStore[key];\r\n        if (nowBuilder instanceof Adapter) {\r\n            stores.data[key] = {\r\n                visitor: contextFactory(key, nowBuilder.values, nowBuilder.adapter, extractSetStateFunc),\r\n                dataCopy: nowBuilder.values,\r\n            };\r\n        }\r\n        else {\r\n            stores.data[key] = {\r\n                visitor: contextFactory(key, nowBuilder, 'memory', extractSetStateFunc),\r\n                dataCopy: nowBuilder,\r\n            };\r\n        }\r\n        return nowBuilder;\r\n    });\r\n    return stores.data;\r\n}\r\n//# sourceMappingURL=store.js.map","map":"{\"version\":3,\"file\":\"store.js\",\"sourceRoot\":\"\",\"sources\":[\"../../src/store.ts\"],\"names\":[],\"mappings\":\"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\"}"}
