Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
als-cache-and-history
Advanced tools
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.
npm install cache-and-history
const CacheAndHistory = require('cache-and-history');
let cache = new CacheAndHistory(path, data, logger);
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.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.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 }
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 }]
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
FAQs
A simple caching module with history
The npm package als-cache-and-history receives a total of 1 weekly downloads. As such, als-cache-and-history popularity was classified as not popular.
We found that als-cache-and-history demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.