Package Exports
- urlcache
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (urlcache) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
urlcache

URL key-value cache and store.
Installation
Node.js >= 0.10
is required. To install, type this at the command line:
npm install urlcache --save-dev
Note: Node.js v0.10 will need a Promise
polyfill.
Constructor
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 url
from cache. If url
is not defined, all cached key value pairs will be removed.
.get(url)
Returns a Promise
with the stored value of url
. If no such value exists, the promise will be rejected.
cache.get("url").then(function(value) {
console.log(value); //-> "value"
});
cache.get("unstored").catch(function(error) {
// not in cache (or value is a rejected Promise)
});
.set(url, value[, expiryTime])
Stores value
(any type) into url
key. Optionally, define expiryTime
to override options.expiryTime
. Note: any value passed in gets wrapped in Promise.resolve
.
cache.set("url", {"key":"value"});
cache.get("url").then(function(value) {
console.log(value); //-> {"key":"value"}
});
cache.set("url", new Promise(function(resolve, reject) {
// set value after some delayed event
setTimeout(function() {
resolve("value");
}, 500);
});
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.4.0 simpler
Promise
-based API - 0.3.0 added
options.defaultPorts
, more tests - 0.2.0 simplified API
- 0.1.0 initial release