You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					70 lines
				
				1.3 KiB
			
		
		
			
		
	
	
					70 lines
				
				1.3 KiB
			| 
								 
											3 years ago
										 
									 | 
							
								copy-to
							 | 
						||
| 
								 | 
							
								=======
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[](https://travis-ci.org/node-modules/copy-to)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								copy an object's properties to another one, include propertiy, getter and setter.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## Install
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								npm install copy-to
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## Usage
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```js
							 | 
						||
| 
								 | 
							
								copy(src).to(des);
							 | 
						||
| 
								 | 
							
								copy(src).toCover(des);
							 | 
						||
| 
								 | 
							
								copy(src).override(des);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								copy(src).pick('proName1', 'proName2').to(des);
							 | 
						||
| 
								 | 
							
								copy(src).pick('proName1', 'proName2').toCover(des);
							 | 
						||
| 
								 | 
							
								copy(src).pick('proName1', 'proName2').override(des);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								copy(src).and(other).to(des);
							 | 
						||
| 
								 | 
							
								copy(src).and(other).toCover(des);
							 | 
						||
| 
								 | 
							
								copy(src).and(second).and(third).to(des);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								copy(src).and(other).pick('proName1', 'proName2').to(des);
							 | 
						||
| 
								 | 
							
								copy(src).and(other).pick('proName1', 'proName2').toCover(des);
							 | 
						||
| 
								 | 
							
								copy(src).and(second).and(third).pick('proName1', 'proName2').to(des);
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								It won't copy access(getter / setter) by default, if you want to copy them, please use:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```js
							 | 
						||
| 
								 | 
							
								copy(src).withAccess().and(other).to(des);
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## Example
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```js
							 | 
						||
| 
								 | 
							
								var copy = require('copy-to');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var src = {
							 | 
						||
| 
								 | 
							
								  _name: 'foo',
							 | 
						||
| 
								 | 
							
								  set name(val) {
							 | 
						||
| 
								 | 
							
								    this._name = val;
							 | 
						||
| 
								 | 
							
								  },
							 | 
						||
| 
								 | 
							
								  get name() {
							 | 
						||
| 
								 | 
							
								    return this._name;
							 | 
						||
| 
								 | 
							
								  },
							 | 
						||
| 
								 | 
							
								  show: function () {
							 | 
						||
| 
								 | 
							
								    console.log(this._name);
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var des = {
							 | 
						||
| 
								 | 
							
								  _name: 'bar'
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								copy(src).to(des);
							 | 
						||
| 
								 | 
							
								copy(src).toCover(des);
							 | 
						||
| 
								 | 
							
								copy(src).pick('_name', 'name').to(des);
							 | 
						||
| 
								 | 
							
								copy(src).pick('_name', 'name').toCover(des);
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## License
							 | 
						||
| 
								 | 
							
								MIT
							 |