clone.js 638 B

1234567891011121314151617181920212223242526
  1. var wrapSingle = require('./wrap-for-optimizing').single;
  2. function deep(property) {
  3. var cloned = shallow(property);
  4. for (var i = property.components.length - 1; i >= 0; i--) {
  5. var component = shallow(property.components[i]);
  6. component.value = property.components[i].value.slice(0);
  7. cloned.components.unshift(component);
  8. }
  9. cloned.dirty = true;
  10. cloned.value = property.value.slice(0);
  11. return cloned;
  12. }
  13. function shallow(property) {
  14. var cloned = wrapSingle([[property.name, property.important, property.hack]]);
  15. cloned.unused = false;
  16. return cloned;
  17. }
  18. module.exports = {
  19. deep: deep,
  20. shallow: shallow
  21. };