
Security News
AI Agent Lands PRs in Major OSS Projects, Targets Maintainers via Cold Outreach
An AI agent is merging PRs into major OSS projects and cold-emailing maintainers to drum up more work.
time-storage
Advanced tools
Small library to work with the local storage implementing lifetime for its items
Small library to work with the local storage implementing lifetime for its items
Install the package
yarn add time-storage
Import it and create your time storage
import TimeStorage from "time-storage";
const myStorage = TimeStorage("my_storage");
And that's it!!! Check the API Reference below to check all that you can do with this package.
When creating a new Time Storage, you need to give it a namespace and you can optionally pass a default validity for the items in that storage. If you don't pass a default validity, the items in that storage will be valid for 30 minutes since it was stored. You can create as many storages as you want.
import TimeStorage from "time-storage";
// This storage has the 'my_storage' namespace
// The items will have a default lifetime of 30 minutes
const myStorage = TimeStorage("my_storage");
// This storage has the 'my_second_storage' namespace
// The items will have a default lifetime of 60 minutes
const mySecondStorage = TimeStorage("my_second_storage", 60);
// This storage has the 'my_third_storage' namespace
// The items will have a default lifetime of 3 hours
// You can pass 'minute', 'hour' or 'day' as the time unit
const myThirdStorage = TimeStorage("my_third_storage", 3, "hour");
Checks if the Time Storage has the item for the given key and returns if the item is found and if it's still valid, otherwise returns the defaultValue
import TimeStorage from "time-storage";
const myStorage = TimeStorage("my_storage");
// If the storage doesn't have this item, it will return null
myStorage.get("key");
// If the storage doesn't have this item, it will return 'default'
myStorage.get("key", "default");
Returns an object with all the valid items for the Time Storage
import TimeStorage from "time-storage";
const myStorage = TimeStorage("my_storage");
// Returns an object in the following format: { first_key: first_value, second_key: second_value }
myStorage.getAll();
Sets an item on the Time Storage with the given key. If validFor is given, this value will be used instead of the default validity of the Time Storage. If timeUnit is given, this unit will be used instead of the default validity of the Time Storage.
import TimeStorage from "time-storage";
// This storage has the 'my_storage' namespace
// The items will have a default lifetime of 30 minutes
const myStorage = TimeStorage("my_storage");
// This item will be set with the default validity for this storage: 30 minutes
myStorage.set("my_key", { message: "Hello, world" });
// This item will be set and will be valid for 60 minues
myStorage.set("second_key", 1000, 60);
// This item will be set and will be valid for 3 hours
myStorage.set("third_key", "my_data", 3, "hour");
Removes an item from the Time Storage. You can have items with the same key in different Time Storages. This is possible using different namespaces for your Time Storages. If you have items with the same key on Time Storages with different namespaces, the remove() function will remove the item only on the Time Storage that you called it.
import TimeStorage from "time-storage";
const myStorage = TimeStorage("my_storage");
myStorage.set("my_key", { message: "Hello, world" });
// Removes the item with the key 'my_key' from this Time Storage
myStorage.remove("my_key");
Removes all items from the Time Storage. This will not affect Time Storages with different namespaces.
import TimeStorage from "time-storage";
const myStorage = TimeStorage("my_storage");
myStorage.set("my_key", { message: "Hello, world" });
myStorage.set("second_key", 1000, 60);
// Removes all the items from this storage
myStorage.clear();
Thanks goes to these wonderful people (emoji key):
Wendell Adriel 💻 📖 🤔 🚇 ⚠️ |
|---|
This project follows the all-contributors specification. Contributions of any kind welcome!
FAQs
Small library to work with the local storage implementing lifetime for its items
The npm package time-storage receives a total of 9 weekly downloads. As such, time-storage popularity was classified as not popular.
We found that time-storage 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.

Security News
An AI agent is merging PRs into major OSS projects and cold-emailing maintainers to drum up more work.

Research
/Security News
Chrome extension CL Suite by @CLMasters neutralizes 2FA for Facebook and Meta Business accounts while exfiltrating Business Manager contact and analytics data.

Security News
After Matplotlib rejected an AI-written PR, the agent fired back with a blog post, igniting debate over AI contributions and maintainer burden.