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:
-
optionsObjectOptional. The options supported by a specific store implementation.
Methods
create
-
type -
opts
returns a store implementation of the specified type.
Parameters:
-
typeStringthe type of store to create
-
optsObjectOptional. 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:
-
keyStringthe 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:
-
keyStringthe 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:
-
keyString
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:
-
constructorFunctionthe constructor function for the store. This function must have a
TYPEproperty 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:
-
keyStringthe key for the content
-
contentsStringthe contents for the key
setObject
-
key -
object
sugar method to set an object against a specific key.
Parameters:
-
keyStringthe key for the object
-
objectObjectthe object to be stored
