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.
		
		
		
		
		
			
		
			
				
					
					
						
							33 lines
						
					
					
						
							772 B
						
					
					
				
			
		
		
	
	
							33 lines
						
					
					
						
							772 B
						
					
					
				var wrapSingle = require('../wrap-for-optimizing').single; | 
						|
 | 
						|
var Token = require('../../tokenizer/token'); | 
						|
 | 
						|
function deep(property) { | 
						|
  var cloned = shallow(property); | 
						|
  for (var i = property.components.length - 1; i >= 0; i--) { | 
						|
    var component = shallow(property.components[i]); | 
						|
    component.value = property.components[i].value.slice(0); | 
						|
    cloned.components.unshift(component); | 
						|
  } | 
						|
 | 
						|
  cloned.dirty = true; | 
						|
  cloned.value = property.value.slice(0); | 
						|
 | 
						|
  return cloned; | 
						|
} | 
						|
 | 
						|
function shallow(property) { | 
						|
  var cloned = wrapSingle([ | 
						|
    Token.PROPERTY, | 
						|
    [Token.PROPERTY_NAME, property.name] | 
						|
  ]); | 
						|
  cloned.important = property.important; | 
						|
  cloned.hack = property.hack; | 
						|
  cloned.unused = false; | 
						|
  return cloned; | 
						|
} | 
						|
 | 
						|
module.exports = { | 
						|
  deep: deep, | 
						|
  shallow: shallow | 
						|
};
 | 
						|
 |