JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 20950
  • Score
    100M100P100Q139458F
  • License MIT

URL key-value cache and store.

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 NPM Version Build Status Dependency Status

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