"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _utils=_interopRequireDefault(require("../utils/utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,o)}return r}function _objectSpread(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};_classCallCheck(this,e),_defineProperty(this,"get",function(e){return _utils.default.isString(e)?t._getByStr(e):_utils.default.isObj(e)?(console.warn("[BaseStore] get(object) is deprecated, please use subscribe() instead."),t.subscribe(e)):void 0}),_defineProperty(this,"subscribe",function(e){if(!_utils.default.isObj(e))return console.warn("[BaseStore] subscribe() expects an object { key: callback }."),function(){};var r=_objectSpread({},e);return Object.keys(r).forEach(function(e){var o=r[e];t.callbacks[e]||(t.callbacks[e]=[]),t.callbacks[e].indexOf(o)<0&&t.callbacks[e].push(o),o(t._getByStr(e))}),function(){Object.keys(r).forEach(function(e){var o=r[e];if(t.callbacks[e]){var n=t.callbacks[e].indexOf(o);n>=0&&t.callbacks[e].splice(n,1)}})}}),_defineProperty(this,"set",function(e,r){if(_utils.default.isString(e)&&t._setItem(e,r),_utils.default.isObj(e)){var o=_objectSpread({},e);Object.keys(o).forEach(function(e){var r=o[e];t._setItem(e,r)})}}),_defineProperty(this,"reset",function(){var e=t.state;t.state=_objectSpread({},t._defaultState),Object.keys(t.callbacks).forEach(function(r){var o=t.callbacks[r];if(o&&0!==o.length){var n=t._getByStrFrom(e,r),i=t._getByStr(r);if(n!==i){var a=_utils.default.deepCopy(n);o.forEach(function(e){e(i,a)})}}})}),_defineProperty(this,"_setByStr",function(e,r){try{for(var o=e.split("."),n=t.state,i=0;i