urlcache v0.7.0
urlcache

URL key-value cache.
Installation
Node.js >= 0.10 is required; < 4.0 will need an Object.assign polyfill. To install, type this at the command line:
npm install urlcacheConstructor
var UrlCache = require("urlcache");
var cache = new UrlCache(options);Methods
Note: all instances of url can be either a String or a url.parse()-compatible Object.
.clear(url)
Removes the url key-value pair. If the url argument is not defined, all pairs will be removed.
.get(url)
Returns the stored value of url. If no such value exists, undefined will be returned.
.length()
Returns the number of stored key-value pairs.
.set(url, value, expiryTime)
Stores value (any type) into url key. Optionally, define expiryTime to override options.expiryTime.
cache.set("url", {"key":"value"});
cache.get("url"); //=> {"key":"value"}
cache.set("url", new Promise(function(resolve, reject) {
// set value after some delayed event
setTimeout(function() {
resolve("value");
}, 500);
});
Promise.resolve(cache.get("url")).then(function(value) {
console.log(value); //=> "value"
});Options
options.defaultPorts
Type: Object
Default value: see urlobj.parse() options
A map of protocol default ports for options.normalizeUrls.
options.expiryTime
Type: Number
Default value: Infinity
The number of milliseconds in which a cached value should be considered valid.
options.normalizeUrls
Type: Boolean
Default value: true
When true, will remove unnecessary URL parts in order to avoid duplicates in cache.
options.stripUrlHashes
Type: Boolean
Default Value: true
When true, will remove #hashes from URLs. They are most likely not useful to you because they are local to the document that contains them.
Changelog
- 0.7.0 support for Node.js v9
- 0.6.0 added
.length()and removedObject.assign()polyfill - 0.5.0 removed use of Promises as they were unnecessary
- 0.4.0 simpler
Promise-based API - 0.3.0 added
options.defaultPorts, more tests - 0.2.0 simplified API
- 0.1.0 initial release