@visulima/string
Version:
Functions for manipulating strings.
2 lines (1 loc) • 859 B
JavaScript
"use strict";var i=Object.defineProperty;var r=(s,e)=>i(s,"name",{value:e,configurable:!0});var c=Object.defineProperty,a=r((s,e)=>c(s,"name",{value:e,configurable:!0}),"c");class d{static{r(this,"s")}static{a(this,"LRUCache")}capacity;cache;keyOrder;constructor(e){this.capacity=e,this.cache=new Map,this.keyOrder=[]}get(e){if(this.cache.has(e))return this.keyOrder=this.keyOrder.filter(t=>t!==e),this.keyOrder.push(e),this.cache.get(e)}has(e){return this.cache.has(e)}set(e,t){if(this.cache.has(e))this.keyOrder=this.keyOrder.filter(h=>h!==e);else if(this.cache.size>=this.capacity){const h=this.keyOrder.shift();h!==void 0&&this.cache.delete(h)}this.cache.set(e,t),this.keyOrder.push(e)}delete(e){this.cache.delete(e),this.keyOrder=this.keyOrder.filter(t=>t!==e)}clear(){this.cache.clear(),this.keyOrder=[]}size(){return this.cache.size}}module.exports=d;