Socket
Socket
Sign inDemoInstall

lru.min

Package Overview
Dependencies
Maintainers
0
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

lru.min - npm Package Compare versions

Comparing version 0.2.2 to 0.2.3

2

browser/lru.min.js

@@ -1,1 +0,1 @@

var createLRU=g=>{var{max:d,onEviction:t}=g;if(!(Number.isInteger(d)&&d>0))throw new TypeError("`max` must be a positive integer");var a=0,f=0,s=0,y=[],l=new Map,i=new Array(d).fill(void 0),n=new Array(d).fill(void 0),v=new Array(d).fill(0),m=new Array(d).fill(0),o=e=>{if(e!==s){var r=v[e];if(e===f)f=r;else{var u=m[e];v[u]=r,m[r]=u}v[s]=e,m[e]=s,s=e}},b=()=>{var e=f,r=i[e];return t==null||t(n[e],r),l.delete(r),i[e]=void 0,n[e]=void 0,f=v[e],a--,e};return{set(e,r){var u=l.get(e);u===void 0?(u=a===d?b():y.length>0?y.pop():a,l.set(e,u),i[u]=e,a++):t==null||t(n[u],e),n[u]=r,o(u)},get(e){var r=l.get(e);if(r!==void 0)return o(r),n[r]},peek:e=>{var r=l.get(e);return r!==void 0?n[r]:void 0},has:e=>l.has(e),*keys(){for(var e=f,r=0;r<a;r++)yield i[e],e=v[e]},*values(){for(var e=f,r=0;r<a;r++)yield n[e],e=v[e]},*entries(){for(var e=f,r=0;r<a;r++)yield[i[e],n[e]],e=v[e]},forEach:e=>{for(var r=f,u=0;u<a;u++){var K=i[r],h=n[r];e(h,K),r=v[r]}},delete(e){var r=l.get(e);return r!==void 0?(t==null||t(n[r],e),l.delete(e),y.push(r),i[r]=void 0,n[r]=void 0,a--,!0):!1},evict:e=>{for(var r=Math.min(e,a);r>0;)b(),r--},clear(){for(var e of l.values())t==null||t(n[e],i[e]);l.clear(),i.fill(void 0),n.fill(void 0),y=[],a=0,f=s=0},resize:e=>{if(!(Number.isInteger(e)&&e>0))throw new TypeError("`max` must be a positive integer");for(d=e;a>d;)b()},get max(){return d},get size(){return a},get available(){return d-a}}};
var createLRU=g=>{var{max:d,onEviction:t}=g;if(!(Number.isInteger(d)&&d>0))throw new TypeError("`max` must be a positive integer");var a=0,f=0,s=0,y=[],l=new Map,i=new Array(d).fill(void 0),n=new Array(d).fill(void 0),v=new Array(d).fill(0),m=new Array(d).fill(0),o=e=>{if(e!==s){var r=v[e];if(e===f)f=r;else{var u=m[e];v[u]=r,m[r]=u}v[s]=e,m[e]=s,s=e}},b=()=>{var e=f,r=i[e];return t==null||t(r,n[e]),l.delete(r),i[e]=void 0,n[e]=void 0,f=v[e],a--,e};return{set(e,r){var u=l.get(e);u===void 0?(u=a===d?b():y.length>0?y.pop():a,l.set(e,u),i[u]=e,a++):t==null||t(e,n[u]),n[u]=r,o(u)},get(e){var r=l.get(e);if(r!==void 0)return o(r),n[r]},peek:e=>{var r=l.get(e);return r!==void 0?n[r]:void 0},has:e=>l.has(e),*keys(){for(var e=f,r=0;r<a;r++)yield i[e],e=v[e]},*values(){for(var e=f,r=0;r<a;r++)yield n[e],e=v[e]},*entries(){for(var e=f,r=0;r<a;r++)yield[i[e],n[e]],e=v[e]},forEach:e=>{for(var r=f,u=0;u<a;u++){var K=i[r],h=n[r];e(h,K),r=v[r]}},delete(e){var r=l.get(e);return r!==void 0?(t==null||t(e,n[r]),l.delete(e),y.push(r),i[r]=void 0,n[r]=void 0,a--,!0):!1},evict:e=>{for(var r=Math.min(e,a);r>0;)b(),r--},clear(){for(var e of l.values())t==null||t(i[e],n[e]);l.clear(),i.fill(void 0),n.fill(void 0),y=[],a=0,f=s=0},resize:e=>{if(!(Number.isInteger(e)&&e>0))throw new TypeError("`max` must be a positive integer");for(d=e;a>d;)b()},get max(){return d},get size(){return a},get available(){return d-a}}};

@@ -5,3 +5,3 @@ export declare const createLRU: <Key, Value>(options: {

/** Function called when an item is evicted from the cache. */
onEviction?: (value: Value, key: Key) => unknown;
onEviction?: (key: Key, value: Value) => unknown;
}) => {

@@ -8,0 +8,0 @@ /** Adds a key-value pair to the cache. Updates the value if the key already exists. */

@@ -35,3 +35,3 @@ "use strict";

const key = keyList[evictHead];
onEviction === null || onEviction === void 0 ? void 0 : onEviction(valList[evictHead], key);
onEviction === null || onEviction === void 0 ? void 0 : onEviction(key, valList[evictHead]);
keyMap.delete(key);

@@ -55,3 +55,3 @@ keyList[evictHead] = undefined;

else
onEviction === null || onEviction === void 0 ? void 0 : onEviction(valList[index], key);
onEviction === null || onEviction === void 0 ? void 0 : onEviction(key, valList[index]);
valList[index] = value;

@@ -113,3 +113,3 @@ moveToTail(index);

if (index !== undefined) {
onEviction === null || onEviction === void 0 ? void 0 : onEviction(valList[index], key);
onEviction === null || onEviction === void 0 ? void 0 : onEviction(key, valList[index]);
keyMap.delete(key);

@@ -135,3 +135,3 @@ free.push(index);

for (const index of keyMap.values())
onEviction === null || onEviction === void 0 ? void 0 : onEviction(valList[index], keyList[index]);
onEviction === null || onEviction === void 0 ? void 0 : onEviction(keyList[index], valList[index]);
keyMap.clear();

@@ -138,0 +138,0 @@ keyList.fill(undefined);

{
"name": "lru.min",
"version": "0.2.2",
"version": "0.2.3",
"description": "🔥 An extremely fast and efficient LRU cache for JavaScript (Browser compatible) — 4.8KB.",

@@ -5,0 +5,0 @@ "main": "./lib/index.js",

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc