"use strict";window.createLRU=function(e){var r=e.max;if(!(Number.isInteger(r)&&r>0))throw new TypeError("`max` must be a positive integer");var i=0,n=0,t=0,o=[],l=e.onEviction,a=new Map,f=new Array(r).fill(void 0),v=new Array(r).fill(void 0),u=new Array(r).fill(0),d=new Array(r).fill(0),c=function(e){u[t]=e,d[e]=t,u[e]=0,t=e},s=function(e){if(e!==t){var r=u[e],i=d[e];e===n?n=r:u[i]=r,d[r]=i,c(e)}};return{set:function(e,g){if(void 0!==e){var h=a.get(e);if(void 0===h){if(i===r){var w=f[h=n];null==l||l(w,v[h]),a.delete(w),n=u[h],d[n]=0}else h=o.length>0?o.pop():i,i++;a.set(e,h),f[h]=e,v[h]=g,1===i?n=t=h:c(h)}else null==l||l(e,v[h]),v[h]=g,s(h)}},get:function(e){var r=a.get(e);if(void 0!==r)return r!==t&&s(r),v[r]},peek:function(e){var r=a.get(e);return void 0!==r?v[r]:void 0},has:function(e){return a.has(e)},keys:function*(){for(var e=t,r=0;r0;){var c=n,s=f[c];null==l||l(s,v[c]),a.delete(s),f[c]=void 0,v[c]=void 0,n=u[c],d[n]=0,i--,o.push(c),r--}0===i&&(n=t=0)},clear:function(){if(l)for(var e=n,r=0;r0))throw new TypeError("`max` must be a positive integer");e!==r&&(e=0;p--)g[p]=f[r],h[p]=v[r],a.set(f[r],p),r=d[r];n=0,t=c-1,i=c,f.length=e,v.length=e,u.length=e,d.length=e;for(var m=0;m