You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
638 B
JavaScript
27 lines
638 B
JavaScript
6 years ago
|
var wrapSingle = require('./wrap-for-optimizing').single;
|
||
|
|
||
|
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([[property.name, property.important, property.hack]]);
|
||
|
cloned.unused = false;
|
||
|
return cloned;
|
||
|
}
|
||
|
|
||
|
module.exports = {
|
||
|
deep: deep,
|
||
|
shallow: shallow
|
||
|
};
|