Applys properties from one object to another

npm install applyr
9 downloads in the last week
15 downloads in the last month


A module for node.js.

A simple way to apply properties from one object to another, and optionally supply defaults to use if the from object is missing properties.

Useful for using config objects in constructors.


var Applyr = require('applyr')

var config = {
  port: 7215,
  name: "Fredrick"

var MainObject = function(objectConfig) {
  Applyr.applyConfigTo(this, objectConfig);
var mo = new MainObject(config);

//output: {"port":7215,"name":"Fredrick"}

//now if we want to use defaults
var configNoPort = {
    name: 'Jason'

var MainObjectWithDefaults = function(objectConfig) {
    var defaults = {
        port: 8888
    Applyr.applyConfigTo(this, objectConfig, defaults);
var moDefaults1 = new MainObjectWithDefaults(configNoPort);

//output: {"port":8888,"name":"Jason"}

//now what happens if the config has port and so does defaults:
var moDefaults2 = new MainObjectWithDefaults(config);

//output: {"port":7215,"name":"Fredrick"}

//the object gets the value from the config, ignoring the default
npm loves you