{"version":3,"sources":["webpack:///./node_modules/reselect/es/index.js"],"names":["defaultEqualityCheck","a","b","areArgumentsShallowlyEqual","equalityCheck","prev","next","length","i","getDependencies","funcs","dependencies","Array","isArray","every","dep","dependencyTypes","map","join","Error","createSelector","memoize","_len","arguments","memoizeOptions","_key","_len2","_key2","recomputations","resultFunc","pop","memoizedResultFunc","apply","undefined","concat","selector","params","push","resetRecomputations","createSelectorCreator","func","lastArgs","lastResult"],"mappings":"0FAAA,SAASA,EAAqBC,EAAGC,GAC/B,OAAOD,IAAMC,EAGf,SAASC,EAA2BC,EAAeC,EAAMC,GACvD,GAAa,OAATD,GAA0B,OAATC,GAAiBD,EAAKE,SAAWD,EAAKC,OACzD,OAAO,EAKT,IADA,IAAIA,EAASF,EAAKE,OACTC,EAAI,EAAGA,EAAID,EAAQC,IAC1B,IAAKJ,EAAcC,EAAKG,GAAIF,EAAKE,IAC/B,OAAO,EAIX,OAAO,EAoBT,SAASC,EAAgBC,GACvB,IAAIC,EAAeC,MAAMC,QAAQH,EAAM,IAAMA,EAAM,GAAKA,EAExD,IAAKC,EAAaG,OAAM,SAAUC,GAChC,MAAsB,mBAARA,KACZ,CACF,IAAIC,EAAkBL,EAAaM,KAAI,SAAUF,GAC/C,cAAcA,KACbG,KAAK,MACR,MAAM,IAAIC,MAAM,wGAAgHH,EAAkB,KAGpJ,OAAOL,EAjDT,kCAkGO,IAAIS,EA9CJ,SAA+BC,GACpC,IAAK,IAAIC,EAAOC,UAAUhB,OAAQiB,EAAiBZ,MAAMU,EAAO,EAAIA,EAAO,EAAI,GAAIG,EAAO,EAAGA,EAAOH,EAAMG,IACxGD,EAAeC,EAAO,GAAKF,UAAUE,GAGvC,OAAO,WACL,IAAK,IAAIC,EAAQH,UAAUhB,OAAQG,EAAQE,MAAMc,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACjFjB,EAAMiB,GAASJ,UAAUI,GAG3B,IAAIC,EAAiB,EACjBC,EAAanB,EAAMoB,MACnBnB,EAAeF,EAAgBC,GAE/BqB,EAAqBV,EAAQW,WAAMC,EAAW,CAAC,WAGjD,OAFAL,IAEOC,EAAWG,MAAM,KAAMT,aAC7BW,OAAOV,IAGNW,EAAWd,GAAQ,WAIrB,IAHA,IAAIe,EAAS,GACT7B,EAASI,EAAaJ,OAEjBC,EAAI,EAAGA,EAAID,EAAQC,IAE1B4B,EAAOC,KAAK1B,EAAaH,GAAGwB,MAAM,KAAMT,YAI1C,OAAOQ,EAAmBC,MAAM,KAAMI,MAWxC,OARAD,EAASN,WAAaA,EACtBM,EAASxB,aAAeA,EACxBwB,EAASP,eAAiB,WACxB,OAAOA,GAETO,EAASG,oBAAsB,WAC7B,OAAOV,EAAiB,GAEnBO,GAIiBI,EA9ErB,SAAwBC,GAC7B,IAAIpC,EAAgBmB,UAAUhB,OAAS,QAAsB0B,IAAjBV,UAAU,GAAmBA,UAAU,GAAKvB,EAEpFyC,EAAW,KACXC,EAAa,KAEjB,OAAO,WAOL,OANKvC,EAA2BC,EAAeqC,EAAUlB,aAEvDmB,EAAaF,EAAKR,MAAM,KAAMT,YAGhCkB,EAAWlB,UACJmB","file":"npm.reselect.c920b4ddeb9b68365139.js","sourcesContent":["function defaultEqualityCheck(a, b) {\n  return a === b;\n}\n\nfunction areArgumentsShallowlyEqual(equalityCheck, prev, next) {\n  if (prev === null || next === null || prev.length !== next.length) {\n    return false;\n  }\n\n  // Do this in a for loop (and not a `forEach` or an `every`) so we can determine equality as fast as possible.\n  var length = prev.length;\n  for (var i = 0; i < length; i++) {\n    if (!equalityCheck(prev[i], next[i])) {\n      return false;\n    }\n  }\n\n  return true;\n}\n\nexport function defaultMemoize(func) {\n  var equalityCheck = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultEqualityCheck;\n\n  var lastArgs = null;\n  var lastResult = null;\n  // we reference arguments instead of spreading them for performance reasons\n  return function () {\n    if (!areArgumentsShallowlyEqual(equalityCheck, lastArgs, arguments)) {\n      // apply arguments instead of spreading for performance.\n      lastResult = func.apply(null, arguments);\n    }\n\n    lastArgs = arguments;\n    return lastResult;\n  };\n}\n\nfunction getDependencies(funcs) {\n  var dependencies = Array.isArray(funcs[0]) ? funcs[0] : funcs;\n\n  if (!dependencies.every(function (dep) {\n    return typeof dep === 'function';\n  })) {\n    var dependencyTypes = dependencies.map(function (dep) {\n      return typeof dep;\n    }).join(', ');\n    throw new Error('Selector creators expect all input-selectors to be functions, ' + ('instead received the following types: [' + dependencyTypes + ']'));\n  }\n\n  return dependencies;\n}\n\nexport function createSelectorCreator(memoize) {\n  for (var _len = arguments.length, memoizeOptions = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    memoizeOptions[_key - 1] = arguments[_key];\n  }\n\n  return function () {\n    for (var _len2 = arguments.length, funcs = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n      funcs[_key2] = arguments[_key2];\n    }\n\n    var recomputations = 0;\n    var resultFunc = funcs.pop();\n    var dependencies = getDependencies(funcs);\n\n    var memoizedResultFunc = memoize.apply(undefined, [function () {\n      recomputations++;\n      // apply arguments instead of spreading for performance.\n      return resultFunc.apply(null, arguments);\n    }].concat(memoizeOptions));\n\n    // If a selector is called with the exact same arguments we don't need to traverse our dependencies again.\n    var selector = memoize(function () {\n      var params = [];\n      var length = dependencies.length;\n\n      for (var i = 0; i < length; i++) {\n        // apply arguments instead of spreading and mutate a local list of params for performance.\n        params.push(dependencies[i].apply(null, arguments));\n      }\n\n      // apply arguments instead of spreading for performance.\n      return memoizedResultFunc.apply(null, params);\n    });\n\n    selector.resultFunc = resultFunc;\n    selector.dependencies = dependencies;\n    selector.recomputations = function () {\n      return recomputations;\n    };\n    selector.resetRecomputations = function () {\n      return recomputations = 0;\n    };\n    return selector;\n  };\n}\n\nexport var createSelector = createSelectorCreator(defaultMemoize);\n\nexport function createStructuredSelector(selectors) {\n  var selectorCreator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : createSelector;\n\n  if (typeof selectors !== 'object') {\n    throw new Error('createStructuredSelector expects first argument to be an object ' + ('where each property is a selector, instead received a ' + typeof selectors));\n  }\n  var objectKeys = Object.keys(selectors);\n  return selectorCreator(objectKeys.map(function (key) {\n    return selectors[key];\n  }), function () {\n    for (var _len3 = arguments.length, values = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n      values[_key3] = arguments[_key3];\n    }\n\n    return values.reduce(function (composition, value, index) {\n      composition[objectKeys[index]] = value;\n      return composition;\n    }, {});\n  });\n}"],"sourceRoot":""}