diff options
Diffstat (limited to 'vanilla/node_modules/css-tree/cjs/utils/clone.cjs')
| -rw-r--r-- | vanilla/node_modules/css-tree/cjs/utils/clone.cjs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/vanilla/node_modules/css-tree/cjs/utils/clone.cjs b/vanilla/node_modules/css-tree/cjs/utils/clone.cjs new file mode 100644 index 0000000..41d5edb --- /dev/null +++ b/vanilla/node_modules/css-tree/cjs/utils/clone.cjs @@ -0,0 +1,25 @@ +'use strict'; + +const List = require('./List.cjs'); + +function clone(node) { + const result = {}; + + for (const key of Object.keys(node)) { + let value = node[key]; + + if (value) { + if (Array.isArray(value) || value instanceof List.List) { + value = value.map(clone); + } else if (value.constructor === Object) { + value = clone(value); + } + } + + result[key] = value; + } + + return result; +} + +exports.clone = clone; |
