| var LazyWrapper = require('./_LazyWrapper'), | |
|     LodashWrapper = require('./_LodashWrapper'), | |
|     copyArray = require('./_copyArray'); | |
| 
 | |
| /** | |
|  * Creates a clone of `wrapper`. | |
|  * | |
|  * @private | |
|  * @param {Object} wrapper The wrapper to clone. | |
|  * @returns {Object} Returns the cloned wrapper. | |
|  */ | |
| function wrapperClone(wrapper) { | |
|   if (wrapper instanceof LazyWrapper) { | |
|     return wrapper.clone(); | |
|   } | |
|   var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__); | |
|   result.__actions__ = copyArray(wrapper.__actions__); | |
|   result.__index__  = wrapper.__index__; | |
|   result.__values__ = wrapper.__values__; | |
|   return result; | |
| } | |
| 
 | |
| module.exports = wrapperClone;
 |