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

lru-cache-ts

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

lru-cache-ts

A typescript implementation of lru cache

  • 1.0.1
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
21
decreased by-22.22%
Maintainers
1
Weekly downloads
 
Created
Source

LRU Cache TS

This library is inspired from node-lru-cache and is completely written in Typescript with test coverage.

GitHub Workflow Status Coverage Status

Installation:

npm:

npm install lru-cache-ts

OR

yarn:

yarn add lru-cache-ts

Usage:

import { LRUCache } from 'lru-cache-ts'

type CacheType = any // set this to a fixed type for type-checking
const cache = LRUCache<CacheType>({ max: 100 })

// key needs to be string, value to be same as cache type defined while creating the object
cache.set('key', 'value')
expect(cache.get('key')).toBe('value')

Options:

  • max: The maximum size of the cache. Setting it to a non-whole number will throw a TypeError. (Default: Infinity)

API:

  • set(key: string, value: CacheType)

  • get(key: string) => CacheType

    Both of these will update the "recently used"-ness of the key. If the key is not found, get() will return undefined. key has to be of type string.

  • peek(key: string) => CacheType

    Returns the key value (or undefined if not found) without updating the "recently used"-ness of the key.

  • del(key: string)

    Deletes a key out of the cache.

  • reset()

    Clear the cache entirely, throwing away all values.

  • has(key: string) => boolean

    Check if a key is in the cache, without updating the recent-ness

  • forEach(function (value: CacheType, key: string))

    Iterates over all the keys in the cache, in order of recent-ness. (i.e., more recently used items are iterated over first.)

  • rforEach(function (value: CacheType, key: string))

    The same as cache.forEach(...) but items are iterated over in reverse order. (i.e., less recently used items are iterated over first.)

  • length

    Return total length of objects in cache.

  • dump() => Array<LRUDumpObject>

    Return an array of the cache entries ready for serialization and usage with destinationCache.load(arr).

  • load(cacheEntriesArray: Array<LRUDumpObject>)

    Loads another cache entries array, obtained with sourceCache.dump(), into the cache. The destination cache is reset before loading new entries

FAQs

Package last updated on 27 Aug 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

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