{"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":""}