New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

cachu

Package Overview
Dependencies
Maintainers
1
Versions
61
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cachu - npm Package Compare versions

Comparing version 2.0.3 to 2.1.0

build/global.js

2

build/index.js

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

var __defProp=Object.defineProperty;var __reflectGet=Reflect.get;var __reflectSet=Reflect.set;var __markAsModule=target=>__defProp(target,"__esModule",{value:true});var __export=(target,all)=>{__markAsModule(target);for(var name in all)__defProp(target,name,{get:all[name],enumerable:true})};__export(exports,{Cachu:()=>Cachu,default:()=>src_default,destroy:()=>destroy,each:()=>each,get:()=>get,getAmountOfItems:()=>getAmountOfItems,getKeysOfItems:()=>getKeysOfItems,getMany:()=>getMany,getManyByCondition:()=>getManyByCondition,getValuesOfItems:()=>getValuesOfItems,has:()=>has,prune:()=>prune,purge:()=>purge,purgeMany:()=>purgeMany,purgeManyByCondition:()=>purgeManyByCondition,set:()=>set,update:()=>update,view:()=>view});var Cachu=class{constructor(config){if(typeof config!=="object")config={};if(config.maxAmount&&typeof config.maxAmount!=="number"||config.maxAge&&typeof config.maxAge!=="number")return;this.maxAmount=config.maxAmount??Infinity;this.maxAge=config.maxAge??Infinity;this.store=[]}set=async(key,value)=>{if(!key||!value)return false;const index=this.store.findIndex((i=>i[0]===key));if(index!==-1)return false;this.store=this.store.filter((i=>Date.now()-i[2]<this.maxAge*1e3));if(this.store.length===this.maxAmount){const max=this.store.reduce(((previous,current)=>previous[2]<current[2]?previous:current));this.store.splice(this.store.findIndex((i=>i[0]===max[0])),1)}this.store.push([key,value,Date.now()]);return true};get=async key=>{if(!key)return null;this.store=this.store.filter((i=>Date.now()-i[2]<this.maxAge*1e3));const index=this.store.findIndex((i=>i[0]===key));if(index===-1)return null;const item=this.store[index];return item[1]};view=async key=>{if(!key)return null;this.store=this.store.filter((i=>Date.now()-i[2]<this.maxAge*1e3||i[0]===key));const index=this.store.findIndex((i=>i[0]===key));if(index===-1)return null;const item=this.store[index];return item[1]};update=async(key,value)=>{if(!key||!value)return false;const index=this.store.findIndex((i=>i[0]===key));if(index===-1)return false;this.store[index]=[key,value,Date.now()];return true};has=async key=>{if(!key)return false;const index=this.store.findIndex((i=>i[0]===key));if(index===-1)return false;return true};purge=async key=>{if(!key)return false;const index=this.store.findIndex((i=>i[0]===key));if(index===-1)return false;this.store.splice(index,1);return true};prune=async()=>{if(this.store.length>0)this.store=this.store.filter((i=>Date.now()-i[2]<this.maxAge*1e3));return true};destroy=async()=>{this.store=[];return true};purgeMany=async keys=>{if(typeof keys!=="object")return false;for(const key of keys)await this.purge(key);return true};getMany=async keys=>{if(typeof keys!=="object")return;const items=[];for(const key of keys){const item=await this.get(key);if(item!==null||item!==void 0)items.push(item)}return items};purgeManyByCondition=async condition=>{if(typeof condition!=="function")return false;this.store=this.store.filter((item=>!condition(item)));return true};getManyByCondition=async condition=>{if(typeof condition!=="function")return false;return this.store.filter((item=>condition(item)))};getAmountOfItems=async()=>this.store.length;getValuesOfItems=async()=>{if(this.store.length===0)return;return this.store.map((item=>item[1]))};getKeysOfItems=async()=>{if(this.store.length===0)return;return this.store.map((item=>item[0]))};each=async action=>{if(!action)return false;this.store.forEach((async item=>{await action(item)}));return true}};var store=[];var maxAmount=Infinity;var maxAge=Infinity;var global_default=async config=>{if(typeof config!=="object")config={};if(config.maxAmount&&typeof config.maxAmount!=="number"||config.maxAge&&typeof config.maxAge!=="number")return;maxAmount=config.maxAmount??Infinity;maxAge=config.maxAge??Infinity};var set=async(key,value)=>{if(!key||!value)return false;const index=store.findIndex((i=>i[0]===key));if(index!==-1)return false;store=store.filter((i=>Date.now()-i[2]<maxAge*1e3));if(store.length===maxAmount){const max=store.reduce(((previous,current)=>previous[2]<current[2]?previous:current));store.splice(store.findIndex((i=>i[0]===max[0])),1)}store.push([key,value,Date.now()]);return true};var get=async key=>{if(!key)return null;store=store.filter((i=>Date.now()-i[2]<maxAge*1e3));const index=store.findIndex((i=>i[0]===key));if(index===-1)return null;const item=store[index];return item[1]};var view=async key=>{if(!key)return null;store=store.filter((i=>Date.now()-i[2]<maxAge*1e3||i[0]===key));const index=store.findIndex((i=>i[0]===key));if(index===-1)return null;const item=store[index];return item[1]};var update=async(key,value)=>{if(!key||!value)return false;const index=store.findIndex((i=>i[0]===key));if(index===-1)return false;store[index]=[key,value,Date.now()];return true};var has=async key=>{if(!key)return false;const index=store.findIndex((i=>i[0]===key));if(index===-1)return false;return true};var purge=async key=>{if(!key)return false;const index=store.findIndex((i=>i[0]===key));if(index===-1)return false;store.splice(index,1);return true};var prune=async()=>{if(store.length>0)store=store.filter((i=>Date.now()-i[2]<maxAge*1e3));return true};var destroy=async()=>{store=[];return true};var purgeMany=async keys=>{if(typeof keys!=="object")return false;for(const key of keys)await purge(key);return true};var getMany=async keys=>{if(typeof keys!=="object")return;const items=[];for(const key of keys){const item=await get(key);if(item!==null||item!==void 0)items.push(item)}return items};var purgeManyByCondition=async condition=>{if(typeof condition!=="function")return false;store=store.filter((item=>!condition(item)));return true};var getManyByCondition=async condition=>{if(typeof condition!=="function")return false;return store.filter((item=>condition(item)))};var getAmountOfItems=async()=>store.length;var getValuesOfItems=async()=>{if(store.length===0)return;return store.map((item=>item[1]))};var getKeysOfItems=async()=>{if(store.length===0)return;return store.map((item=>item[0]))};var each=async action=>{if(!action)return false;store.forEach((async item=>{await action(item)}));return true};var src_default=global_default;0&&(module.exports={Cachu:Cachu,destroy:destroy,each:each,get:get,getAmountOfItems:getAmountOfItems,getKeysOfItems:getKeysOfItems,getMany:getMany,getManyByCondition:getManyByCondition,getValuesOfItems:getValuesOfItems,has:has,prune:prune,purge:purge,purgeMany:purgeMany,purgeManyByCondition:purgeManyByCondition,set:set,update:update,view:view});
"use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.each=exports.getKeysOfItems=exports.getValuesOfItems=exports.purgeManyByCondition=exports.getManyByCondition=exports.getAmountOfItems=exports.getMany=exports.purgeMany=exports.destroy=exports.prune=exports.has=exports.purge=exports.view=exports.update=exports.get=exports.set=exports.Cachu=void 0;var instance_1=require("./instance");Object.defineProperty(exports,"Cachu",{enumerable:!0,get:function(){return instance_1.Cachu}});var global_1=__importDefault(require("./global"));exports.default=global_1.default;var global_2=require("./global");Object.defineProperty(exports,"set",{enumerable:!0,get:function(){return global_2.set}}),Object.defineProperty(exports,"get",{enumerable:!0,get:function(){return global_2.get}}),Object.defineProperty(exports,"update",{enumerable:!0,get:function(){return global_2.update}}),Object.defineProperty(exports,"view",{enumerable:!0,get:function(){return global_2.view}}),Object.defineProperty(exports,"purge",{enumerable:!0,get:function(){return global_2.purge}}),Object.defineProperty(exports,"has",{enumerable:!0,get:function(){return global_2.has}}),Object.defineProperty(exports,"prune",{enumerable:!0,get:function(){return global_2.prune}}),Object.defineProperty(exports,"destroy",{enumerable:!0,get:function(){return global_2.destroy}}),Object.defineProperty(exports,"purgeMany",{enumerable:!0,get:function(){return global_2.purgeMany}}),Object.defineProperty(exports,"getMany",{enumerable:!0,get:function(){return global_2.getMany}}),Object.defineProperty(exports,"getAmountOfItems",{enumerable:!0,get:function(){return global_2.getAmountOfItems}}),Object.defineProperty(exports,"getManyByCondition",{enumerable:!0,get:function(){return global_2.getManyByCondition}}),Object.defineProperty(exports,"purgeManyByCondition",{enumerable:!0,get:function(){return global_2.purgeManyByCondition}}),Object.defineProperty(exports,"getValuesOfItems",{enumerable:!0,get:function(){return global_2.getValuesOfItems}}),Object.defineProperty(exports,"getKeysOfItems",{enumerable:!0,get:function(){return global_2.getKeysOfItems}}),Object.defineProperty(exports,"each",{enumerable:!0,get:function(){return global_2.each}});
{
"name": "cachu",
"version": "2.0.3",
"version": "2.1.0",
"description": "Simple, minimalistic key-value cache.",
"main": "build/index.js",
"types": "types/index.d.ts",
"scripts": {
"build": "esbuild src/index.mjs --bundle --platform=node --outfile=build/index.js && terser build/index.js --output build/index.js",
"build": "tsc",
"build:dev": "tsc -w",
"minify": "node build.mjs",
"release:patch": "npm run minify && npm version patch && npm publish",
"release:minor": "npm run minify && npm version minor && npm publish",
"release:major": "npm run minify && npm version major && npm publish",
"test": "node dev/instance.mjs"

@@ -32,4 +38,5 @@ },

"devDependencies": {
"esbuild": "^0.13.11",
"terser": "^5.9.0"
"glob": "^7.2.0",
"terser": "^5.9.0",
"typescript": "^4.4.4"
},

@@ -36,0 +43,0 @@ "engines": {

@@ -11,2 +11,4 @@ # cachu

🤫 All the upcoming features are listed [over here](https://github.com/azurystudios/cachu/projects/1).
## Installation

@@ -66,2 +68,3 @@

- [`maxAmount`](https://github.com/azurystudios/cachu/wiki/configuration#max-amount) to set the **maximum size** for the store
- [`store`](https://github.com/azurystudios/cachu/wiki/configuration#store) to set the **method** of storing data

@@ -68,0 +71,0 @@ ### Features

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