JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 20325
  • Score
    100M100P100Q135735F
  • 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

Usage

var UrlCache = require("urlcache");
var cache = new UrlCache(options);

cache.set("http://domain.com/#hash", "value");
cache.set("http://domain.com/path/to/something.html", {"key":"value"});

Methods

Note: all instances of url can be either a String or a url.parse()-compatible Object.

.clear([url])

Removes url from cache (whether defined with set() or setting()). If url is not defined, all cached key value pairs will be removed.

.contains(url)

Returns true if url currently has a value stored or in the process of being stored in cache; false if it does not.

.get(url, callback)

Runs callback when the value of url has been stored. If called before set() and/or setting(), the value will be undefined.

cache.get("url", function(value) {
    console.log(value);  //-> undefined
});

cache.setting("url");
cache.get("url", function(value) {
    console.log(value);  //-> "value"
});
cache.set("url", "value");

.set(url, value, expiryTime)

Stores value (any type) into url key. Optionally, define expiryTime to override options.expiryTime.

.setting(url)

Marks url as being in the process of storing its value in cache. If the value of url has already been stored, nothing will be marked.

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 because they are local to the document that contains them.

Changelog

  • 0.3.0 added options.defaultPorts, more tests
  • 0.2.0 simplified API
  • 0.1.0 initial release