wrapperClone.js 513 B

123456789101112131415161718
  1. var LazyWrapper = require('./LazyWrapper'),
  2. LodashWrapper = require('./LodashWrapper'),
  3. arrayCopy = require('./arrayCopy');
  4. /**
  5. * Creates a clone of `wrapper`.
  6. *
  7. * @private
  8. * @param {Object} wrapper The wrapper to clone.
  9. * @returns {Object} Returns the cloned wrapper.
  10. */
  11. function wrapperClone(wrapper) {
  12. return wrapper instanceof LazyWrapper
  13. ? wrapper.clone()
  14. : new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__, arrayCopy(wrapper.__actions__));
  15. }
  16. module.exports = wrapperClone;