{"id":"node_modules/smox/dist/smox.js","dependencies":[{"name":"E:\\www\\smox\\examples\\counter\\package.json","includedInParent":true,"mtime":1553327813869},{"name":"E:\\www\\smox\\examples\\counter\\.babelrc","includedInParent":true,"mtime":1552387051999},{"name":"E:\\www\\smox\\examples\\counter\\node_modules\\smox\\package.json","includedInParent":true,"mtime":1553327825531},{"name":"react","loc":{"line":2,"column":90},"parent":"E:\\www\\smox\\examples\\counter\\node_modules\\smox\\dist\\smox.js","resolved":"E:\\www\\smox\\examples\\counter\\node_modules\\react\\index.js"}],"generated":{"js":"var define;\nvar global = arguments[3];\n(function (global, factory) {\r\n  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react')) :\r\n  typeof define === 'function' && define.amd ? define(['exports', 'react'], factory) :\r\n  (global = global || self, factory(global.smox = {}, global.React));\r\n}(this, function (exports, React) { 'use strict';\r\n\r\n  var copy = {};\r\n  var make;\r\n  var oldPath;\r\n  function produce(state, path, produce) {\r\n      var newState = proxy(state);\r\n      if (oldPath !== path)\r\n          make = false;\r\n      oldPath = path;\r\n      produce(newState);\r\n      return make ? copy : state;\r\n  }\r\n  function proxy(state) {\r\n      var handler = {\r\n          get: function (obj, key) {\r\n              if (typeof obj[key] === 'object' && obj[key] !== null) {\r\n                  return new Proxy(obj[key], handler);\r\n              }\r\n              return make ? copy[key] : obj[key];\r\n          },\r\n          set: function (_, key, val) {\r\n              copy[key] = val;\r\n              make = true;\r\n              return true;\r\n          }\r\n      };\r\n      return new Proxy(state, handler);\r\n  }\r\n\r\n  var extendStatics = function(d, b) {\r\n      extendStatics = Object.setPrototypeOf ||\r\n          ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n          function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n      return extendStatics(d, b);\r\n  };\r\n\r\n  function __extends(d, b) {\r\n      extendStatics(d, b);\r\n      function __() { this.constructor = d; }\r\n      d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n  }\r\n\r\n  var __assign = function() {\r\n      __assign = Object.assign || function __assign(t) {\r\n          for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n              s = arguments[i];\r\n              for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n          }\r\n          return t;\r\n      };\r\n      return __assign.apply(this, arguments);\r\n  };\r\n\r\n  function mapToProps(paths, source) {\r\n      var res = {};\r\n      paths.forEach(function (key) {\r\n          var path = key.split('/');\r\n          res[path[path.length - 1]] = getPlain(path, source);\r\n      });\r\n      return res;\r\n  }\r\n  function getPlain(path, source) {\r\n      var i = 0;\r\n      while (i < path.length) {\r\n          source = source[path[i++]];\r\n      }\r\n      return source;\r\n  }\r\n  function setPlain(path, value, source) {\r\n      var target = {};\r\n      if (path.length) {\r\n          target[path[0]] =\r\n              path.length > 1 ? setPlain(path.slice(1), value, source[path[0]]) : value;\r\n          return __assign({}, source, target);\r\n      }\r\n      return __assign({}, source, value);\r\n  }\r\n\r\n  var Smox = (function () {\r\n      function Smox(_a) {\r\n          var _b = _a.state, state = _b === void 0 ? {} : _b, _c = _a.actions, actions = _c === void 0 ? {} : _c, _d = _a.effects, effects = _d === void 0 ? {} : _d;\r\n          this.state = state;\r\n          this.actions = this.wireActions([], state, actions);\r\n          this.effects = this.wireEffects([], actions, effects);\r\n          this.subs = [];\r\n      }\r\n      Smox.prototype.wireActions = function (path, state, actions) {\r\n          var _this = this;\r\n          Object.keys(actions).forEach(function (key) {\r\n              typeof actions[key] === 'function'\r\n                  ? (function (key, action) {\r\n                      actions[key] = function (data) {\r\n                          var res = produce(state, path, function (draft) {\r\n                              action(draft, data);\r\n                          });\r\n                          this.state = setPlain(path, res, this.state);\r\n                          this.subs.forEach(function (fun) { return fun(); });\r\n                      }.bind(_this);\r\n                  })(key, actions[key])\r\n                  : _this.wireActions(path.concat(key), state[key], actions[key]);\r\n          });\r\n          return actions;\r\n      };\r\n      Smox.prototype.wireEffects = function (path, actions, effects) {\r\n          var _this = this;\r\n          Object.keys(effects).forEach(function (key) {\r\n              typeof effects[key] === 'function'\r\n                  ? (function (key, effect) {\r\n                      effects[key] = function (data) {\r\n                          effect(actions, data);\r\n                      };\r\n                  })(key, effects[key])\r\n                  : _this.wireEffects(path.concat(key), actions[key], effects[key]);\r\n          });\r\n          return effects;\r\n      };\r\n      Smox.prototype.subscribe = function (sub) {\r\n          this.subs.push(sub);\r\n      };\r\n      Smox.prototype.unsubscribe = function (sub) {\r\n          this.subs.filter(function (f) { return f !== sub; });\r\n      };\r\n      return Smox;\r\n  }());\r\n\r\n  var Context = React.createContext(null);\r\n  var Provider = (function (_super) {\r\n      __extends(Provider, _super);\r\n      function Provider(props) {\r\n          var _this = _super.call(this, props) || this;\r\n          _this.store = _this.props.store;\r\n          return _this;\r\n      }\r\n      Provider.prototype.render = function () {\r\n          return (React.createElement(Context.Provider, { value: this.store }, this.props.children));\r\n      };\r\n      return Provider;\r\n  }(React.Component));\r\n  var map = function (_a) {\r\n      var _b = _a.state, state = _b === void 0 ? [] : _b, _c = _a.actions, actions = _c === void 0 ? [] : _c, _d = _a.effects, effects = _d === void 0 ? [] : _d;\r\n      return function (Component) {\r\n          var _a;\r\n          return _a = (function (_super) {\r\n                  __extends(class_1, _super);\r\n                  function class_1(props) {\r\n                      var _this = _super.call(this, props) || this;\r\n                      _this.state = {\r\n                          props: {}\r\n                      };\r\n                      return _this;\r\n                  }\r\n                  class_1.prototype.componentDidMount = function () {\r\n                      var _this = this;\r\n                      this._isMounted = true;\r\n                      this.actionsProps = mapToProps(actions, this.context.actions);\r\n                      this.effectsProps = mapToProps(effects, this.context.effects);\r\n                      this.context.subscribe(function () { return _this.update(); });\r\n                      this.update();\r\n                  };\r\n                  class_1.prototype.componentWillUnmount = function () {\r\n                      var _this = this;\r\n                      this._isMounted = false;\r\n                      this.context.unsubscribe(function () { return _this.update(); });\r\n                  };\r\n                  class_1.prototype.update = function () {\r\n                      if (this._isMounted) {\r\n                          this.stateProps = mapToProps(state, this.context.state);\r\n                          this.setState({\r\n                              props: __assign({}, this.state.porps, this.stateProps, this.actionsProps, this.effectsProps)\r\n                          });\r\n                      }\r\n                  };\r\n                  class_1.prototype.render = function () {\r\n                      return React.createElement(Component, __assign({}, this.state.props));\r\n                  };\r\n                  return class_1;\r\n              }(React.Component)),\r\n              _a.contextType = Context,\r\n              _a;\r\n      };\r\n  };\r\n\r\n  exports.produce = produce;\r\n  exports.Smox = Smox;\r\n  exports.Provider = Provider;\r\n  exports.map = map;\r\n\r\n  Object.defineProperty(exports, '__esModule', { value: true });\r\n\r\n}));\r\n"},"sourceMaps":{"js":{"mappings":[{"source":"node_modules/smox/dist/smox.js","original":{"line":1,"column":0},"generated":{"line":3,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":2,"column":0},"generated":{"line":4,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":3,"column":0},"generated":{"line":5,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":4,"column":0},"generated":{"line":6,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":5,"column":0},"generated":{"line":7,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":6,"column":0},"generated":{"line":8,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":7,"column":0},"generated":{"line":9,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":8,"column":0},"generated":{"line":10,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":9,"column":0},"generated":{"line":11,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":10,"column":0},"generated":{"line":12,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":11,"column":0},"generated":{"line":13,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":12,"column":0},"generated":{"line":14,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":13,"column":0},"generated":{"line":15,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":14,"column":0},"generated":{"line":16,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":15,"column":0},"generated":{"line":17,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":16,"column":0},"generated":{"line":18,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":17,"column":0},"generated":{"line":19,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":18,"column":0},"generated":{"line":20,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":19,"column":0},"generated":{"line":21,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":20,"column":0},"generated":{"line":22,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":21,"column":0},"generated":{"line":23,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":22,"column":0},"generated":{"line":24,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":23,"column":0},"generated":{"line":25,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":24,"column":0},"generated":{"line":26,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":25,"column":0},"generated":{"line":27,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":26,"column":0},"generated":{"line":28,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":27,"column":0},"generated":{"line":29,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":28,"column":0},"generated":{"line":30,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":29,"column":0},"generated":{"line":31,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":30,"column":0},"generated":{"line":32,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":31,"column":0},"generated":{"line":33,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":32,"column":0},"generated":{"line":34,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":33,"column":0},"generated":{"line":35,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":34,"column":0},"generated":{"line":36,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":35,"column":0},"generated":{"line":37,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":36,"column":0},"generated":{"line":38,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":37,"column":0},"generated":{"line":39,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":38,"column":0},"generated":{"line":40,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":39,"column":0},"generated":{"line":41,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":40,"column":0},"generated":{"line":42,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":41,"column":0},"generated":{"line":43,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":42,"column":0},"generated":{"line":44,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":43,"column":0},"generated":{"line":45,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":44,"column":0},"generated":{"line":46,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":45,"column":0},"generated":{"line":47,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":46,"column":0},"generated":{"line":48,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":47,"column":0},"generated":{"line":49,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":48,"column":0},"generated":{"line":50,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":49,"column":0},"generated":{"line":51,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":50,"column":0},"generated":{"line":52,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":51,"column":0},"generated":{"line":53,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":52,"column":0},"generated":{"line":54,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":53,"column":0},"generated":{"line":55,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":54,"column":0},"generated":{"line":56,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":55,"column":0},"generated":{"line":57,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":56,"column":0},"generated":{"line":58,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":57,"column":0},"generated":{"line":59,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":58,"column":0},"generated":{"line":60,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":59,"column":0},"generated":{"line":61,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":60,"column":0},"generated":{"line":62,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":61,"column":0},"generated":{"line":63,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":62,"column":0},"generated":{"line":64,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":63,"column":0},"generated":{"line":65,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":64,"column":0},"generated":{"line":66,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":65,"column":0},"generated":{"line":67,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":66,"column":0},"generated":{"line":68,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":67,"column":0},"generated":{"line":69,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":68,"column":0},"generated":{"line":70,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":69,"column":0},"generated":{"line":71,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":70,"column":0},"generated":{"line":72,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":71,"column":0},"generated":{"line":73,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":72,"column":0},"generated":{"line":74,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":73,"column":0},"generated":{"line":75,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":74,"column":0},"generated":{"line":76,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":75,"column":0},"generated":{"line":77,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":76,"column":0},"generated":{"line":78,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":77,"column":0},"generated":{"line":79,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":78,"column":0},"generated":{"line":80,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":79,"column":0},"generated":{"line":81,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":80,"column":0},"generated":{"line":82,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":81,"column":0},"generated":{"line":83,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":82,"column":0},"generated":{"line":84,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":83,"column":0},"generated":{"line":85,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":84,"column":0},"generated":{"line":86,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":85,"column":0},"generated":{"line":87,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":86,"column":0},"generated":{"line":88,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":87,"column":0},"generated":{"line":89,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":88,"column":0},"generated":{"line":90,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":89,"column":0},"generated":{"line":91,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":90,"column":0},"generated":{"line":92,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":91,"column":0},"generated":{"line":93,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":92,"column":0},"generated":{"line":94,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":93,"column":0},"generated":{"line":95,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":94,"column":0},"generated":{"line":96,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":95,"column":0},"generated":{"line":97,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":96,"column":0},"generated":{"line":98,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":97,"column":0},"generated":{"line":99,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":98,"column":0},"generated":{"line":100,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":99,"column":0},"generated":{"line":101,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":100,"column":0},"generated":{"line":102,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":101,"column":0},"generated":{"line":103,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":102,"column":0},"generated":{"line":104,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":103,"column":0},"generated":{"line":105,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":104,"column":0},"generated":{"line":106,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":105,"column":0},"generated":{"line":107,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":106,"column":0},"generated":{"line":108,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":107,"column":0},"generated":{"line":109,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":108,"column":0},"generated":{"line":110,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":109,"column":0},"generated":{"line":111,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":110,"column":0},"generated":{"line":112,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":111,"column":0},"generated":{"line":113,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":112,"column":0},"generated":{"line":114,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":113,"column":0},"generated":{"line":115,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":114,"column":0},"generated":{"line":116,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":115,"column":0},"generated":{"line":117,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":116,"column":0},"generated":{"line":118,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":117,"column":0},"generated":{"line":119,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":118,"column":0},"generated":{"line":120,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":119,"column":0},"generated":{"line":121,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":120,"column":0},"generated":{"line":122,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":121,"column":0},"generated":{"line":123,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":122,"column":0},"generated":{"line":124,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":123,"column":0},"generated":{"line":125,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":124,"column":0},"generated":{"line":126,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":125,"column":0},"generated":{"line":127,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":126,"column":0},"generated":{"line":128,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":127,"column":0},"generated":{"line":129,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":128,"column":0},"generated":{"line":130,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":129,"column":0},"generated":{"line":131,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":130,"column":0},"generated":{"line":132,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":131,"column":0},"generated":{"line":133,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":132,"column":0},"generated":{"line":134,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":133,"column":0},"generated":{"line":135,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":134,"column":0},"generated":{"line":136,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":135,"column":0},"generated":{"line":137,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":136,"column":0},"generated":{"line":138,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":137,"column":0},"generated":{"line":139,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":138,"column":0},"generated":{"line":140,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":139,"column":0},"generated":{"line":141,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":140,"column":0},"generated":{"line":142,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":141,"column":0},"generated":{"line":143,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":142,"column":0},"generated":{"line":144,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":143,"column":0},"generated":{"line":145,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":144,"column":0},"generated":{"line":146,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":145,"column":0},"generated":{"line":147,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":146,"column":0},"generated":{"line":148,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":147,"column":0},"generated":{"line":149,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":148,"column":0},"generated":{"line":150,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":149,"column":0},"generated":{"line":151,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":150,"column":0},"generated":{"line":152,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":151,"column":0},"generated":{"line":153,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":152,"column":0},"generated":{"line":154,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":153,"column":0},"generated":{"line":155,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":154,"column":0},"generated":{"line":156,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":155,"column":0},"generated":{"line":157,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":156,"column":0},"generated":{"line":158,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":157,"column":0},"generated":{"line":159,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":158,"column":0},"generated":{"line":160,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":159,"column":0},"generated":{"line":161,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":160,"column":0},"generated":{"line":162,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":161,"column":0},"generated":{"line":163,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":162,"column":0},"generated":{"line":164,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":163,"column":0},"generated":{"line":165,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":164,"column":0},"generated":{"line":166,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":165,"column":0},"generated":{"line":167,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":166,"column":0},"generated":{"line":168,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":167,"column":0},"generated":{"line":169,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":168,"column":0},"generated":{"line":170,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":169,"column":0},"generated":{"line":171,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":170,"column":0},"generated":{"line":172,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":171,"column":0},"generated":{"line":173,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":172,"column":0},"generated":{"line":174,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":173,"column":0},"generated":{"line":175,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":174,"column":0},"generated":{"line":176,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":175,"column":0},"generated":{"line":177,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":176,"column":0},"generated":{"line":178,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":177,"column":0},"generated":{"line":179,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":178,"column":0},"generated":{"line":180,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":179,"column":0},"generated":{"line":181,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":180,"column":0},"generated":{"line":182,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":181,"column":0},"generated":{"line":183,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":182,"column":0},"generated":{"line":184,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":183,"column":0},"generated":{"line":185,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":184,"column":0},"generated":{"line":186,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":185,"column":0},"generated":{"line":187,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":186,"column":0},"generated":{"line":188,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":187,"column":0},"generated":{"line":189,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":188,"column":0},"generated":{"line":190,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":189,"column":0},"generated":{"line":191,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":190,"column":0},"generated":{"line":192,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":191,"column":0},"generated":{"line":193,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":192,"column":0},"generated":{"line":194,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":193,"column":0},"generated":{"line":195,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":194,"column":0},"generated":{"line":196,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":195,"column":0},"generated":{"line":197,"column":0}},{"source":"node_modules/smox/dist/smox.js","original":{"line":196,"column":0},"generated":{"line":198,"column":0}}],"sources":{"node_modules/smox/dist/smox.js":"(function (global, factory) {\r\n  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react')) :\r\n  typeof define === 'function' && define.amd ? define(['exports', 'react'], factory) :\r\n  (global = global || self, factory(global.smox = {}, global.React));\r\n}(this, function (exports, React) { 'use strict';\r\n\r\n  var copy = {};\r\n  var make;\r\n  var oldPath;\r\n  function produce(state, path, produce) {\r\n      var newState = proxy(state);\r\n      if (oldPath !== path)\r\n          make = false;\r\n      oldPath = path;\r\n      produce(newState);\r\n      return make ? copy : state;\r\n  }\r\n  function proxy(state) {\r\n      var handler = {\r\n          get: function (obj, key) {\r\n              if (typeof obj[key] === 'object' && obj[key] !== null) {\r\n                  return new Proxy(obj[key], handler);\r\n              }\r\n              return make ? copy[key] : obj[key];\r\n          },\r\n          set: function (_, key, val) {\r\n              copy[key] = val;\r\n              make = true;\r\n              return true;\r\n          }\r\n      };\r\n      return new Proxy(state, handler);\r\n  }\r\n\r\n  var extendStatics = function(d, b) {\r\n      extendStatics = Object.setPrototypeOf ||\r\n          ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n          function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n      return extendStatics(d, b);\r\n  };\r\n\r\n  function __extends(d, b) {\r\n      extendStatics(d, b);\r\n      function __() { this.constructor = d; }\r\n      d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n  }\r\n\r\n  var __assign = function() {\r\n      __assign = Object.assign || function __assign(t) {\r\n          for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n              s = arguments[i];\r\n              for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n          }\r\n          return t;\r\n      };\r\n      return __assign.apply(this, arguments);\r\n  };\r\n\r\n  function mapToProps(paths, source) {\r\n      var res = {};\r\n      paths.forEach(function (key) {\r\n          var path = key.split('/');\r\n          res[path[path.length - 1]] = getPlain(path, source);\r\n      });\r\n      return res;\r\n  }\r\n  function getPlain(path, source) {\r\n      var i = 0;\r\n      while (i < path.length) {\r\n          source = source[path[i++]];\r\n      }\r\n      return source;\r\n  }\r\n  function setPlain(path, value, source) {\r\n      var target = {};\r\n      if (path.length) {\r\n          target[path[0]] =\r\n              path.length > 1 ? setPlain(path.slice(1), value, source[path[0]]) : value;\r\n          return __assign({}, source, target);\r\n      }\r\n      return __assign({}, source, value);\r\n  }\r\n\r\n  var Smox = (function () {\r\n      function Smox(_a) {\r\n          var _b = _a.state, state = _b === void 0 ? {} : _b, _c = _a.actions, actions = _c === void 0 ? {} : _c, _d = _a.effects, effects = _d === void 0 ? {} : _d;\r\n          this.state = state;\r\n          this.actions = this.wireActions([], state, actions);\r\n          this.effects = this.wireEffects([], actions, effects);\r\n          this.subs = [];\r\n      }\r\n      Smox.prototype.wireActions = function (path, state, actions) {\r\n          var _this = this;\r\n          Object.keys(actions).forEach(function (key) {\r\n              typeof actions[key] === 'function'\r\n                  ? (function (key, action) {\r\n                      actions[key] = function (data) {\r\n                          var res = produce(state, path, function (draft) {\r\n                              action(draft, data);\r\n                          });\r\n                          this.state = setPlain(path, res, this.state);\r\n                          this.subs.forEach(function (fun) { return fun(); });\r\n                      }.bind(_this);\r\n                  })(key, actions[key])\r\n                  : _this.wireActions(path.concat(key), state[key], actions[key]);\r\n          });\r\n          return actions;\r\n      };\r\n      Smox.prototype.wireEffects = function (path, actions, effects) {\r\n          var _this = this;\r\n          Object.keys(effects).forEach(function (key) {\r\n              typeof effects[key] === 'function'\r\n                  ? (function (key, effect) {\r\n                      effects[key] = function (data) {\r\n                          effect(actions, data);\r\n                      };\r\n                  })(key, effects[key])\r\n                  : _this.wireEffects(path.concat(key), actions[key], effects[key]);\r\n          });\r\n          return effects;\r\n      };\r\n      Smox.prototype.subscribe = function (sub) {\r\n          this.subs.push(sub);\r\n      };\r\n      Smox.prototype.unsubscribe = function (sub) {\r\n          this.subs.filter(function (f) { return f !== sub; });\r\n      };\r\n      return Smox;\r\n  }());\r\n\r\n  var Context = React.createContext(null);\r\n  var Provider = (function (_super) {\r\n      __extends(Provider, _super);\r\n      function Provider(props) {\r\n          var _this = _super.call(this, props) || this;\r\n          _this.store = _this.props.store;\r\n          return _this;\r\n      }\r\n      Provider.prototype.render = function () {\r\n          return (React.createElement(Context.Provider, { value: this.store }, this.props.children));\r\n      };\r\n      return Provider;\r\n  }(React.Component));\r\n  var map = function (_a) {\r\n      var _b = _a.state, state = _b === void 0 ? [] : _b, _c = _a.actions, actions = _c === void 0 ? [] : _c, _d = _a.effects, effects = _d === void 0 ? [] : _d;\r\n      return function (Component) {\r\n          var _a;\r\n          return _a = (function (_super) {\r\n                  __extends(class_1, _super);\r\n                  function class_1(props) {\r\n                      var _this = _super.call(this, props) || this;\r\n                      _this.state = {\r\n                          props: {}\r\n                      };\r\n                      return _this;\r\n                  }\r\n                  class_1.prototype.componentDidMount = function () {\r\n                      var _this = this;\r\n                      this._isMounted = true;\r\n                      this.actionsProps = mapToProps(actions, this.context.actions);\r\n                      this.effectsProps = mapToProps(effects, this.context.effects);\r\n                      this.context.subscribe(function () { return _this.update(); });\r\n                      this.update();\r\n                  };\r\n                  class_1.prototype.componentWillUnmount = function () {\r\n                      var _this = this;\r\n                      this._isMounted = false;\r\n                      this.context.unsubscribe(function () { return _this.update(); });\r\n                  };\r\n                  class_1.prototype.update = function () {\r\n                      if (this._isMounted) {\r\n                          this.stateProps = mapToProps(state, this.context.state);\r\n                          this.setState({\r\n                              props: __assign({}, this.state.porps, this.stateProps, this.actionsProps, this.effectsProps)\r\n                          });\r\n                      }\r\n                  };\r\n                  class_1.prototype.render = function () {\r\n                      return React.createElement(Component, __assign({}, this.state.props));\r\n                  };\r\n                  return class_1;\r\n              }(React.Component)),\r\n              _a.contextType = Context,\r\n              _a;\r\n      };\r\n  };\r\n\r\n  exports.produce = produce;\r\n  exports.Smox = Smox;\r\n  exports.Provider = Provider;\r\n  exports.map = map;\r\n\r\n  Object.defineProperty(exports, '__esModule', { value: true });\r\n\r\n}));\r\n"},"lineCount":198}},"error":null,"hash":"044b186b868276bd97306f14584f32c0","cacheData":{"env":{}}}