app-base

0.1.1 • Public • Published

app-base NPM version

Starter for creating a node.js application with a handful of common methods, like set, get, and del.

Install

Install with npm

$ npm i app-base --save

Usage

var Base = require('app-base');

API

Base

Create an instance of Base with optional options.

Params

  • options {Object}

Example

var app = new Base();
app.set('foo', 'bar');
console.log(app.get('foo'));
//=> 'bar'

.set

Assign value to key.

Params

  • key {String}
  • value {*}
  • returns {Object}: Returns the instance for chaining.

Example

app.set(key, value);
 
// also takes an object or array
app.set({name: 'Halle'});
app.set([{foo: 'bar'}, {baz: 'quux'}]);
console.log(app);
//=> {name: 'Halle', foo: 'bar', baz: 'quux'}

.get

Return the stored value of key. Dot notation may be used to get nested property values.

Params

  • key {*}
  • escape {Boolean}
  • returns {*}

Example

app.set('foo', 'bar');
app.get('foo');
// => "bar"

.del

Delete key from the instance.

Params

  • key {String}
  • returns {Object}: Returns the instance for chaining.

Example

app.del(); // delete all
// or
app.del('foo');
// or
app.del(['foo', 'bar']);

.define

Define a non-enumerable property on the instance.

Params

  • key {String}
  • value {any}
  • returns {Object}: Returns the instance for chaining.

Example

// arbitrary `render` function using lodash `template`
define('render', function(str, locals) {
  return _.template(str)(locals);
});

.visit

Visit method over the items in the given object, or map visit over the objects in an array.

Params

  • method {String}
  • val {Object|Array}
  • returns {Object}: Returns the instance for chaining.

.extend

Static method for inheriting both the prototype and static methods of the Base class.

Params

  • Ctor {Function}: The constructor to extend.

Example

function MyApp(options) {
  Base.call(this, options);
}
Base.extend(MyApp);
 
// Optionally pass another object to extend onto `MyApp`
function MyApp(options) {
  Base.call(this, options);
  Foo.call(this, options);
}
Base.extend(MyApp, Foo.prototype);

Related projects

Running tests

Install dev dependencies:

$ npm i -d && npm test

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

Author

Jon Schlinkert

License

Copyright © 2015 Jon Schlinkert Released under the MIT license.


This file was generated by verb-cli on August 27, 2015.

Package Sidebar

Install

npm i app-base

Weekly Downloads

40

Version

0.1.1

License

MIT

Last publish

Collaborators

  • jonschlinkert