npm stats
  • Search
  • About
  • Repo
  • Sponsor
  • more
    • Search
    • About
    • Repo
    • Sponsor

Made by Antonio Ramirez

app-base

0.1.1

@jonschlinkert

npmHomeRepoSnykSocket
Downloads:0
$ npm install app-base
DailyWeeklyMonthlyYearly

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

  • define-property: Define a non-enumerable property on an object. | homepage
  • get-value: Use property paths ( a.b.c) to get a nested value from an object. | homepage
  • set-value: Create nested values and any intermediaries using dot notation ('a.b.c') paths. | homepage
  • unset-value: Delete nested properties from an object using dot notation. | homepage

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

  • github/jonschlinkert
  • twitter/jonschlinkert

License

Copyright © 2015 Jon Schlinkert Released under the MIT license.


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