Initial commit
This commit is contained in:
77
node_modules/node.extend/Readme.md
generated
vendored
Normal file
77
node_modules/node.extend/Readme.md
generated
vendored
Normal file
@@ -0,0 +1,77 @@
|
||||
# node.extend
|
||||
|
||||
A port of jQuery.extend that **actually works** on node.js
|
||||
|
||||
[![Build Status][travis-svg]][travis-url]
|
||||
[![dependency status][deps-svg]][deps-url]
|
||||
[![dev dependency status][dev-deps-svg]][dev-deps-url]
|
||||
|
||||
[![browser support][testling-png]][testling-url]
|
||||
|
||||
|
||||
## Description
|
||||
|
||||
None of the existing ones on npm really work therefore I ported it myself.
|
||||
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
To install this module in your current working directory (which should already contain a package.json), run
|
||||
|
||||
```
|
||||
npm install node.extend
|
||||
```
|
||||
|
||||
You can additionally just list the module in your [package.json](https://npmjs.org/doc/json.html) and run npm install.
|
||||
|
||||
Then, require this package where you need it:
|
||||
|
||||
```
|
||||
var extend = require('node.extend');
|
||||
```
|
||||
|
||||
The syntax for merging two objects is as follows:
|
||||
|
||||
```
|
||||
var destObject = extend({}, sourceObject);
|
||||
// Where sourceObject is the object whose properties will be copied into another.
|
||||
// NOTE: In this situation, this is not a deep merge. See below on how to handle a deep merge.
|
||||
```
|
||||
|
||||
For information about how the clone works internally, view source in lib/extend.js or checkout the doc from [jQuery][]
|
||||
|
||||
### A Note About Deep Merge (avoiding pass-by-reference cloning)
|
||||
|
||||
In order to force a deep merge, when extending an object, you must pass boolean true as the first argument to extend:
|
||||
|
||||
```
|
||||
var destObject = extend(true, {}, sourceObject);
|
||||
// Where sourceObject is the object whose properties will be copied into another.
|
||||
```
|
||||
|
||||
See [this article](http://www.jon-carlos.com/2013/is-javascript-call-by-value-or-call-by-reference/) for more information about the need for deep merges in JavaScript.
|
||||
|
||||
## Credit
|
||||
|
||||
- Jordan Harband [@ljharb][]
|
||||
|
||||
|
||||
|
||||
## License
|
||||
|
||||
Copyright 2011, John Resig
|
||||
Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
http://jquery.org/license
|
||||
|
||||
[testling-png]: https://ci.testling.com/dreamerslab/node.extend.png
|
||||
[testling-url]: https://ci.testling.com/dreamerslab/node.extend
|
||||
[travis-svg]: https://travis-ci.org/dreamerslab/node.extend.svg
|
||||
[travis-url]: https://travis-ci.org/dreamerslab/node.extend
|
||||
[deps-svg]: https://david-dm.org/dreamerslab/node.extend.svg
|
||||
[deps-url]: https://david-dm.org/dreamerslab/node.extend
|
||||
[dev-deps-svg]: https://david-dm.org/dreamerslab/node.extend/dev-status.svg
|
||||
[dev-deps-url]: https://david-dm.org/dreamerslab/node.extend#info=devDependencies
|
||||
[jQuery]: http://api.jquery.com/jQuery.extend/
|
||||
[@ljharb]: https://twitter.com/ljharb
|
||||
|
||||
Reference in New Issue
Block a user