diff options
Diffstat (limited to 'node_modules/csso/lib/utils/clone.js')
| -rw-r--r-- | node_modules/csso/lib/utils/clone.js | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/node_modules/csso/lib/utils/clone.js b/node_modules/csso/lib/utils/clone.js new file mode 100644 index 00000000..7592e9e4 --- /dev/null +++ b/node_modules/csso/lib/utils/clone.js @@ -0,0 +1,23 @@ +var List = require('./list'); + +module.exports = function clone(node) { + var result = {}; + + for (var key in node) { + var value = node[key]; + + if (value) { + if (Array.isArray(value)) { + value = value.slice(0); + } else if (value instanceof List) { + value = new List(value.map(clone)); + } else if (value.constructor === Object) { + value = clone(value); + } + } + + result[key] = value; + } + + return result; +}; |
