0.4.0 • Published 8 years ago
delegate-properties v0.4.0
delegate-properties
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 propertiesprovider
: (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
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.