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 |