Comparing version 2.0.3 to 2.1.0
@@ -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 |
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
Empty package
Supply chain riskPackage does not contain any code. It may be removed, is name squatting, or the result of a faulty package publish.
Found 1 instance in 1 package
43816
10
145
87
0
3
1