🚨 Shai-Hulud Strikes Again:834 Packages Compromised.Technical Analysis
Socket
Book a DemoInstallSign in
Socket

@koopjs/cache-memory

Package Overview
Dependencies
Maintainers
7
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@koopjs/cache-memory

An in-memory cache for KOop

latest
Source
npmnpm
Version
6.0.0
Version published
Weekly downloads
308
35.09%
Maintainers
7
Weekly downloads
 
Created
Source

Koop Memory Cache

npm version coverage

This is a LRU cache with ttl (time to live) expiry. It expects cache items to be GeoJSON feature collections. It is based on quick-lru.

Cache eviction occurs in two ways:

  • if the cache grows to a number of items greater than the cache's defined size, the least recently inserted or accessed item is evicted
  • if a item is accessed and it has gone past its ttl period, it is evicted

Usage

Stand-alone instantiation:

const Cache = require('@koopjs/cache-memory');
const cache = new Cache({ size: 1000 });

As a Koop cache plugin

This is the default cache for Koop so you won't need to instantiate it yourself. If you really wanted to, it would look like this:

const Koop = require('koop')
const koop = new Koop()
const cache = require('@koopjs/cache-memory')
koop.register(cache, { size: 1000 })

Options

size: the maximum number of items to store in the queue before evicting the least recently used item.

Cache API

The cache is a JavaScript object that lives in-memory. It is used to store geojson features.

insert

Insert geojson into the cache.

const geojson = {
  type: 'FeatureCollection',
  features: [],
  metadata: { 
    name: 'Example GeoJSON',
    description: 'This is geojson that will be stored in the cache'
  }
}

const options = {
  ttl: 1000 // The TTL option is measured in seconds, it will be used to set the `maxAge` property in the LRU cache
}

cache.insert('key', geojson, options, err => {
  // This function will call back with an error if one occurs
})

retrieve

Retrieve a cached feature collection.

const options = {
  pick: [] // an array of keys used to return a subset of the feature collections root level properties
  omit
} 

cache.retrieve('key', options, (err, geojson) => {
  /* This function will callback with an error or the data cached with the passed key. It will return undefined if not found or expired.
  {
    type: 'FeatureCollection',
    features: [],
    metadata: {}
  }
  */
})

delete

Remove a feature collection from the cache

cache.delete('key', err => {
  // This function will call back with an error if one occurs
})

Keywords

koop

FAQs

Package last updated on 08 Feb 2024

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