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

Made by Antonio Ramirez

delegate-properties

0.4.0

@jonschlinkert

npmHomeRepoSnykSocket
Downloads:1466
$ npm install delegate-properties
DailyWeeklyMonthlyYearly

delegate-properties NPM version NPM downloads Build Status

Deep-clone properties from one object to another and make them non-enumerable, or make existing properties on an object non-enumerable.

Install

Install with npm:

$ npm install --save delegate-properties

Usage

var delegate = require('delegate-properties');
delegate(receiver, provider, clone);

Params

  • receiver: (Object) The object receiving properties
  • provider: (Object) The object providing properties

Examples

copy properties

Copy properties and make them non-enumerable

var provider = {
  upper: function(val) {
    return val.toUpperCase();
  },
  lower: function(val) {
    return val.toLowerCase();
  }
};

var receiver = {};
// an existing properties in the `receiver` 
// object would be overwritten
delegate(receiver, provider);

receiver.upper('foo');
receiver.lower('BAR');

console.log(receiver.upper('foo')); // 'FOO' 
console.log(receiver.lower('BAR')); // 'bar'

// copied properties are non-enumerable
console.log(receiver); // {}
console.log(Object.keys(receiver)); // []

make existing properties non-enumerable

var obj = {
  upper: function(val) {
    return val.toUpperCase();
  },
  lower: function(val) {
    return val.toLowerCase();
  }
};

delegate(obj);
console.log(obj) // {}
obj.upper('foo') // 'FOO'
obj.lower('BAR') // 'bar'

About

Related projects

  • define-property: Define a non-enumerable property on an object. | homepage
  • delegate-object: Copy properties from an object to another object, where properties with function values will be… more | homepage
  • forward-object: Copy properties from an object to another object, where properties with function values will be… more | homepage
  • mixin-deep: Deeply mix the properties of objects into the first object. Like merge-deep, but doesn't clone. | homepage
  • mixin-object: Mixin the own and inherited properties of other objects onto the first object. Pass an… more | homepage

Contributing

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

Building docs

(This document was generated by verb-generate-readme (a verb generator), please don't edit the readme directly. Any changes to the readme must be made in .verb.md.)

To generate the readme and API documentation with verb:

$ npm install -g verb verb-generate-readme && verb

Running tests

Install dev dependencies:

$ npm install -d && npm test

Author

Jon Schlinkert

  • github/jonschlinkert
  • twitter/jonschlinkert

License

Copyright © 2016, Jon Schlinkert. Released under the MIT license.


This file was generated by verb-generate-readme, v0.1.30, on August 13, 2016.