reselect
Version:
Selectors for Redux.
2 lines • 7.95 kB
JavaScript
;var v=Object.defineProperty;var ue=Object.getOwnPropertyDescriptor;var ae=Object.getOwnPropertyNames;var le=Object.prototype.hasOwnProperty;var pe=(e,t)=>{for(var n in t)v(e,n,{get:t[n],enumerable:!0})},me=(e,t,n,c)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of ae(t))!le.call(e,s)&&s!==n&&v(e,s,{get:()=>t[s],enumerable:!(c=ue(t,s))||c.enumerable});return e};var de=e=>me(v({},"__esModule",{value:!0}),e);var Te={};pe(Te,{createSelector:()=>O,createSelectorCreator:()=>P,createStructuredSelector:()=>V,lruMemoize:()=>ee,referenceEqualityCheck:()=>T,setGlobalDevModeChecks:()=>G,unstable_autotrackMemoize:()=>te,weakMapMemoize:()=>w});module.exports=de(Te);var ye={inputStabilityCheck:"once",identityFunctionCheck:"once"},G=e=>{Object.assign(ye,e)};var S=Symbol("NOT_FOUND");function R(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function L(e,t=`expected an object, instead received ${typeof e}`){if(typeof e!="object")throw new TypeError(t)}function fe(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(n=>typeof n=="function")){let n=e.map(c=>typeof c=="function"?`function ${c.name||"unnamed"}()`:typeof c).join(", ");throw new TypeError(`${t}[${n}]`)}}var b=e=>Array.isArray(e)?e:[e];function $(e){let t=Array.isArray(e[0])?e[0]:e;return fe(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function Y(e,t){let n=[],{length:c}=e;for(let s=0;s<c;s++)n.push(e[s].apply(null,t));return n}var H=0,M=null,F=class{revision=H;_value;_lastValue;_isEqual=A;constructor(t,n=A){this._value=this._lastValue=t,this._isEqual=n}get value(){return M?.add(this),this._value}set value(t){this.value!==t&&(this._value=t,this.revision=++H)}};function A(e,t){return e===t}var I=class{_cachedValue;_cachedRevision=-1;_deps=[];hits=0;fn;constructor(t){this.fn=t}clear(){this._cachedValue=void 0,this._cachedRevision=-1,this._deps=[],this.hits=0}get value(){if(this.revision>this._cachedRevision){let{fn:t}=this,n=new Set,c=M;M=n,this._cachedValue=t(),M=c,this.hits++,this._deps=Array.from(n),this._cachedRevision=this.revision}return M?.add(this),this._cachedValue}get revision(){return Math.max(...this._deps.map(t=>t.revision),0)}};function g(e){return e instanceof F||console.warn("Not a valid cell! ",e),e.value}function X(e,t){if(!(e instanceof F))throw new TypeError("setValue must be passed a tracked store created with `createStorage`.");e.value=e._lastValue=t}function B(e,t=A){return new F(e,t)}function J(e){return R(e,"the first parameter to `createCache` must be a function"),new I(e)}var Se=(e,t)=>!1;function z(){return B(null,Se)}function k(e,t){X(e,t)}var N=e=>{let t=e.collectionTag;t===null&&(t=e.collectionTag=z()),g(t)},h=e=>{let t=e.collectionTag;t!==null&&k(t,null)};var Q=0,Me=Object.getPrototypeOf({}),E=class{constructor(t){this.value=t;this.value=t,this.tag.value=t}proxy=new Proxy(this,C);tag=z();tags={};children={};collectionTag=null;id=Q++},C={get(e,t){function n(){let{value:s}=e,o=Reflect.get(s,t);if(typeof t=="symbol"||t in Me)return o;if(typeof o=="object"&&o!==null){let i=e.children[t];return i===void 0&&(i=e.children[t]=j(o)),i.tag&&g(i.tag),i.proxy}else{let i=e.tags[t];return i===void 0&&(i=e.tags[t]=z(),i.value=o),g(i),o}}return n()},ownKeys(e){return N(e),Reflect.ownKeys(e.value)},getOwnPropertyDescriptor(e,t){return Reflect.getOwnPropertyDescriptor(e.value,t)},has(e,t){return Reflect.has(e.value,t)}},D=class{constructor(t){this.value=t;this.value=t,this.tag.value=t}proxy=new Proxy([this],Fe);tag=z();tags={};children={};collectionTag=null;id=Q++},Fe={get([e],t){return t==="length"&&N(e),C.get(e,t)},ownKeys([e]){return C.ownKeys(e)},getOwnPropertyDescriptor([e],t){return C.getOwnPropertyDescriptor(e,t)},has([e],t){return C.has(e,t)}};function j(e){return Array.isArray(e)?new D(e):new E(e)}function _(e,t){let{value:n,tags:c,children:s}=e;if(e.value=t,Array.isArray(n)&&Array.isArray(t)&&n.length!==t.length)h(e);else if(n!==t){let o=0,i=0,r=!1;for(let u in n)o++;for(let u in t)if(i++,!(u in n)){r=!0;break}(r||o!==i)&&h(e)}for(let o in c){let i=n[o],r=t[o];i!==r&&(h(e),k(c[o],r)),typeof r=="object"&&r!==null&&delete c[o]}for(let o in s){let i=s[o],r=t[o];i.value!==r&&(typeof r=="object"&&r!==null?_(i,r):(Z(i),delete s[o]))}}function Z(e){e.tag&&k(e.tag,null),h(e);for(let t in e.tags)k(e.tags[t],null);for(let t in e.children)Z(e.children[t])}function ge(e){let t;return{get(n){return t&&e(t.key,n)?t.value:S},put(n,c){t={key:n,value:c}},getEntries(){return t?[t]:[]},clear(){t=void 0}}}function ze(e,t){let n=[];function c(r){let a=n.findIndex(u=>t(r,u.key));if(a>-1){let u=n[a];return a>0&&(n.splice(a,1),n.unshift(u)),u.value}return S}function s(r,a){c(r)===S&&(n.unshift({key:r,value:a}),n.length>e&&n.pop())}function o(){return n}function i(){n=[]}return{get:c,put:s,getEntries:o,clear:i}}var T=(e,t)=>e===t;function U(e){return function(n,c){if(n===null||c===null||n.length!==c.length)return!1;let{length:s}=n;for(let o=0;o<s;o++)if(!e(n[o],c[o]))return!1;return!0}}function ee(e,t){let n=typeof t=="object"?t:{equalityCheck:t},{equalityCheck:c=T,maxSize:s=1,resultEqualityCheck:o}=n,i=U(c),r=0,a=s<=1?ge(i):ze(s,i);function u(){let l=a.get(arguments);if(l===S){if(l=e.apply(null,arguments),r++,o){let y=a.getEntries().find(p=>o(p.value,l));y&&(l=y.value,r!==0&&r--)}a.put(arguments,l)}return l}return u.clearCache=()=>{a.clear(),u.resetResultsCount()},u.resultsCount=()=>r,u.resetResultsCount=()=>{r=0},u}function te(e){let t=j([]),n=null,c=U(T),s=J(()=>e.apply(null,t.proxy));function o(){return c(n,arguments)||(_(t,arguments),n=arguments),s.value}return o.clearCache=()=>s.clear(),o}var q=class{constructor(t){this.value=t}deref(){return this.value}},ke=()=>typeof WeakRef>"u"?q:WeakRef,oe=ke(),he=0,ne=1;function x(){return{s:he,v:void 0,o:null,p:null}}function Ce(e){return e instanceof oe?e.deref():e}function w(e,t={}){let n=x(),{resultEqualityCheck:c}=t,s,o=0;function i(){let r=n,{length:a}=arguments;for(let m=0,y=a;m<y;m++){let p=arguments[m];if(typeof p=="function"||typeof p=="object"&&p!==null){let d=r.o;d===null&&(r.o=d=new WeakMap);let f=d.get(p);f===void 0?(r=x(),d.set(p,r)):r=f}else{let d=r.p;d===null&&(r.p=d=new Map);let f=d.get(p);f===void 0?(r=x(),d.set(p,r)):r=f}}let u=r,l;if(r.s===ne)l=r.v;else if(l=e.apply(null,arguments),o++,c){let m=Ce(s);m!=null&&c(m,l)&&(l=m,o!==0&&o--),s=typeof l=="object"&&l!==null||typeof l=="function"?new oe(l):l}return u.s=ne,u.v=l,l}return i.clearCache=()=>{n=x(),i.resetResultsCount()},i.resultsCount=()=>o,i.resetResultsCount=()=>{o=0},i}function P(e,...t){let n=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,c=(...s)=>{let o=0,i=0,r,a={},u=s.pop();typeof u=="object"&&(a=u,u=s.pop()),R(u,`createSelector expects an output function after the inputs, but received: [${typeof u}]`);let l={...n,...a},{memoize:m,memoizeOptions:y=[],argsMemoize:p=w,argsMemoizeOptions:d=[]}=l,f=b(y),re=b(d),K=$(s),W=m(function(){return o++,u.apply(null,arguments)},...f),we=!0,ie=p(function(){i++;let se=Y(K,arguments);return r=W.apply(null,se),r},...re);return Object.assign(ie,{resultFunc:u,memoizedResultFunc:W,dependencies:K,dependencyRecomputations:()=>i,resetDependencyRecomputations:()=>{i=0},lastResult:()=>r,recomputations:()=>o,resetRecomputations:()=>{o=0},memoize:m,argsMemoize:p})};return Object.assign(c,{withTypes:()=>c}),c}var O=P(w);var V=Object.assign((e,t=O)=>{L(e,`createStructuredSelector expects first argument to be an object where each property is a selector, instead received a ${typeof e}`);let n=Object.keys(e),c=n.map(o=>e[o]);return t(c,(...o)=>o.reduce((i,r,a)=>(i[n[a]]=r,i),{}))},{withTypes:()=>V});0&&(module.exports={createSelector,createSelectorCreator,createStructuredSelector,lruMemoize,referenceEqualityCheck,setGlobalDevModeChecks,unstable_autotrackMemoize,weakMapMemoize});
//# sourceMappingURL=reselect.production.min.cjs.map