Store Class
An abstraction for keeping track of content against some keys (e.g.
original source, instrumented source, coverage objects against file names).
This class is both the base class as well as a factory for Store
implementations.
Usage
var Store = require('istanbul').Store,
store = Store.create('memory');
//basic use
store.set('foo', 'foo-content');
var content = store.get('foo');
//keys and values
store.keys().forEach(function (key) {
console.log(key + ':\n' + store.get(key);
});
if (store.hasKey('bar') { console.log(store.get('bar'); }
//syntactic sugar
store.setObject('foo', { foo: true });
console.log(store.getObject('foo').foo);
store.dispose();
Constructor
Store
-
options
Parameters:
-
options
ObjectOptional. The options supported by a specific store implementation.
Methods
create
-
type
-
opts
returns a store implementation of the specified type.
Parameters:
-
type
Stringthe type of store to create
-
opts
ObjectOptional. Options specific to the store implementation
Returns:
a new store of the specified type
dispose
()
lifecycle method to dispose temporary resources associated with the store
get
-
key
returns the content associated to a specific key or throws if the key
was not set
Parameters:
-
key
Stringthe key for which to get the content
Returns:
the content for the specified key
getObject
-
key
sugar method to return an object associated with a specific key. Throws if the content set against the key was not a valid JSON string.
Parameters:
-
key
Stringthe key for which to return the associated object
Returns:
the object corresponding to the key
hasKey
-
key
returns true if the key is one for which a get()
call would work.
Parameters:
-
key
String
Returns:
true if the key is valid for this store, false otherwise
keys
()
Array
returns a list of all known keys
Returns:
an array of seen keys
register
-
constructor
registers a new store implementation.
Parameters:
-
constructor
Functionthe constructor function for the store. This function must have a
TYPE
property of type String, that will be used inStore.create()
set
-
key
-
contents
sets some content associated with a specific key. The manner in which
duplicate keys are handled for multiple set()
calls with the same
key is implementation-specific.
Parameters:
-
key
Stringthe key for the content
-
contents
Stringthe contents for the key
setObject
-
key
-
object
sugar method to set an object against a specific key.
Parameters:
-
key
Stringthe key for the object
-
object
Objectthe object to be stored