0.2.0 • Published 9 years ago
context-manager v0.2.0
context-manager
Manage context for templates.
Install with npm
npm i context-manager --save
Usage
var context = require('context-manager');
API
Context
Create an instance of Context
.
.setContext
Add a context level, optionally passing a value to start with.
name
{String}: The name of the context to add.level
{Number}: Numerical value representing the order in which this level should be merged versus other lvl.value
{Object}: Optionally pass an object to start with.
context.setContext('locals', {a: 'b'});
.getContext
Get the raw (un-merged) context for name
.
name
{String}: The context to get.returns
: {*}
context.setContext('a', {a: 'b'});
context.getContext('a');
// => {a: 'b'}
.extendContext
Extend context name
with the given value
name
{String}key
{String}value
{Object}returns
: {String}
context.setContext('locals', {a: 'b'});
.setLevel
Set the level for a context. This determines the order in which the context will be merged when .calculate()
is called.
name
{String}: The name of the context.level
{Number}: The level (number) to set for the level.
if (foo) {
context.setLevel('locals', 10);
} else {
context.setLevel('locals', 0);
}
.calculate
Calculate the context, optionally passing a callback fn
for sorting. (Note that sorting must be done on levels, not on the context names).
keys
{String|Array}: Key, or array of keys for context levels to include.fn
{Function}: Sort function for determining the order of merging.
app.calculate(['a', 'b'], function(a, b) {
return app.lvl[a] - app.lvl[a];
});
.resetContexts
Clear all contexts.
Author
Jon Schlinkert
License
Copyright (c) 2015 Jon Schlinkert
Released under the license
This file was generated by verb on February 21, 2015.