Skip to content

Latest commit

 

History

History
66 lines (47 loc) · 1.08 KB

.verb.md

File metadata and controls

66 lines (47 loc) · 1.08 KB

Usage

var namespace = require('{%= name %}');
var Base = require('base');
var base = new Base();

base.use(namespace());

Default

By default, namespace uses the app._name property, which is uses the constructor name (set in [base][]):

console.log(base.namespace);
//=> 'base'

Alias

If alias is defined, it will be used instead of app._name:

base.alias = 'foo';
console.log(base.namespace);
//=> 'foo'

Parent namespace

If a parent instance is defined, namespace is created from parent.namespace + alias:

var foo = new Base();
foo.alias = 'whatever';
base.parent = foo;

base.alias = 'foo';
console.log(base.namespace);
//=> 'whatever.foo'

Multiple ancestors

When an app has multiple ancestors, its namespace might look something like this:

var foo = new Base();
foo.alias = 'foo';

var bar = new Base();
bar.alias = 'bar';
bar.parent = foo;

var baz = new Base();
baz.alias = 'baz';
baz.parent = bar;

var qux = new Base();
qux.alias = 'qux';
qux.parent = baz;

console.log(qux.namespace);
//=> 'foo.bar.baz.qux'