Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

als-cache-and-history

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

als-cache-and-history

A simple caching module with history

  • 1.0.0
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
1
Maintainers
1
Weekly downloads
 
Created
Source

Cache and History

Cache and History is a simple Node.js caching module with history. It stores data on the disk and also maintains a list of all previous saved data.

Installation

npm install cache-and-history

Usage

const CacheAndHistory = require('cache-and-history');
let cache = new CacheAndHistory(path, data, logger);

Constructor

  • path (optional): Path where cache files will be stored. Defaults to the current directory.
  • data (optional): Initial data to be cached.
  • logger (optional): Logger to be used. Defaults to console.

Methods

  • error(error, method): Logs an error.
  • getFromFile(data): Gets the latest data from cache.
  • getFile(fileName): Returns the content of a file from cache.
  • save(data): Saves data to cache.
  • getList(): Returns a list of all cached file names.
  • history(from, to): Returns a list of all cached data between two dates or indexes.

Examples

Basic Usage

This example demonstrates creating a cache, saving some data, and retrieving it.

const CacheAndHistory = require('cache-and-history');

// Create a new cache with initial data
let cache = new CacheAndHistory('./cache_folder', { a: 1 });

// The data is immediately available
console.log(cache.cache); // Outputs: { a: 1 }

// Save new data
cache.save({ b: 2 });

// Retrieve the latest data
console.log(cache.cache); // Outputs: { b: 2 }

Using History

The history method retrieves all cached data between two dates or indexes.

const CacheAndHistory = require('cache-and-history');

let cache = new CacheAndHistory('./cache_folder');

// Save some data
cache.save({ a: 1 });
cache.save({ b: 2 });
cache.save({ c: 3 });

// Get all history
let allHistory = cache.history();
console.log(allHistory); // Outputs: [{ a: 1 }, { b: 2 }, { c: 3 }]

// Get history between two indexes
let indexHistory = cache.history(1, 2);
console.log(indexHistory); // Outputs: [{ b: 2 }, { c: 3 }]

// Assume we saved { a: 1 } at time 1000, { b: 2 } at time 2000, and { c: 3 } at time 3000
let dateHistory = cache.history(1500, 2500);
console.log(dateHistory); // Outputs: [{ b: 2 }]

Custom Logger

You can provide a custom logger to the CacheAndHistory constructor. The logger should have an error method which will be used to log any errors.

const CacheAndHistory = require('cache-and-history');

const customLogger = {
  error: (err, method) => {
    console.error(`An error occurred in ${method}: ${err}`);
  },
};

let cache = new CacheAndHistory('./cache_folder', null, customLogger);

// Now, if an error occurs, it will be logged with customLogger.error

Keywords

FAQs

Package last updated on 12 Jul 2023

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