config-cache
General purpose JavaScript object storage methods.
Breaking changes in 5.0!
Major breaking changes were made in 5.0!
In an effort to simplify the library, the following methods were removed:
clone
: use clone-deep, example: var obj = cloneDeep(config.cache)
keys
: use Object.keys(config.cache)
omit
: use .del()
exists
: use config.cache.hasOwnProperty()
or has-valuehas
: use config.cache.hasownProperty()
or has-valuehasOwn
: use config.cache.hasOwnProperty()
or has-value
The following data methods were also removed, use plasma-cacheif you need these methods:
data
process
plasma
extendData
Install
Install with npm
$ npm i config-cache --save
Usage
var Config = require('config-cache');
var config = new Config();
API
Initialize a new Config
, optionally passing an object to initialize with.
Params
Example
var cache = new Config();
Static method for mixing Config
prototype properties onto obj
.
Params
obj
{Object}returns
{Object}
Example
function App() {
Config.call(this);
}
Config.mixin(App.prototype);
Assign value
to key
or return the value of key
.
Params
key
{String}value
{*}returns
{Object} Config
: to enable chaining
Example
config.set(key, value);
Return the stored value of key
. Dot notation may be used to get nested property values.
Params
key
{*}escape
{Boolean}returns
{*}
Example
config.set('foo', 'bar');
config.get('foo');
config.set({data: {name: 'Jon'}})
config.get('data', 'name');
Create a constant (getter/setter) for setting and getting values on the given namespace
or this.cache
.
Params
Example
config.constant('site.title', 'Foo');
Add values to an array on the cache
.
returns
{Object} Config
: to enable chaining
Example
config
.union('foo', ['b.hbs', 'c.hbs'], ['d.hbs']);
.union('foo', ['e.hbs', 'f.hbs']);
Extend the cache
with the given object. This method is chainable.
Or define the property to extend:
returns
{Object} Config
: to enable chaining
Examples
config
.extend({foo: 'bar'}, {baz: 'quux'});
.extend({fez: 'bang'});
config
.extend('a', {foo: 'bar'}, {baz: 'quux'})
.extend('b', {fez: 'bang'})
.extend('a.b.c', {fez: 'bang'});
Remove keys
from the cache. If no value is specified the entire cache is reset.
Example
config.del();
Usage Examples
.set
If expand: true
is defined on the options, the value will be set using expander.
Examples:
cache.set('a', {b: 'c'});
cache.set({a: {b: 'c'}});
cache
.set({a: {b: 'c'}})
.set('d', 'e');
Expand template strings with expander:
cache.set('a', {b: '${c}', c: 'd'}, true);
Visit the expanderdocs for more info.
Related
- cache-base: Generic object cache for node.js/javascript projects.
- engine-cache: express.js inspired template-engine manager.
- get-value: Use property paths (
a.b.c
) to get a nested value from an object. - has-value: Returns true if a value exists, false if empty. Works with deeply nested values using… more
- helper-cache: Easily register and get helper functions to be passed to any template engine or node.js… more
- loader-cache: Register loader functions that dynamically read, parse or otherwise transform file contents when the name… more
- map-cache: Basic cache object for storing key-value pairs.
- option-cache: Simple API for managing options in JavaScript applications.
- plasma-cache: Object cache for [Plasma].
- parser-cache: Cache and load parsers, similiar to consolidate.js engines.
- set-value: Create nested values and any intermediaries using dot notation (
'a.b.c'
) paths.
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue
Running tests
Install dev dependencies:
$ npm i -d && npm test
Author
Jon Schlinkert
License
Copyright © 2015 Jon Schlinkert
Released under the MIT license.
This file was generated by verb-cli on June 13, 2015.