diff options
Diffstat (limited to 'vanilla/node_modules/css-tree/lib/utils/clone.js')
| -rw-r--r-- | vanilla/node_modules/css-tree/lib/utils/clone.js | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/vanilla/node_modules/css-tree/lib/utils/clone.js b/vanilla/node_modules/css-tree/lib/utils/clone.js new file mode 100644 index 0000000..84819c0 --- /dev/null +++ b/vanilla/node_modules/css-tree/lib/utils/clone.js @@ -0,0 +1,21 @@ +import { List } from './List.js'; + +export 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) { + value = value.map(clone); + } else if (value.constructor === Object) { + value = clone(value); + } + } + + result[key] = value; + } + + return result; +} |
