css-tree
Version:
A tool set for CSS: fast detailed parser (CSS → AST), walker (AST traversal), generator (AST → CSS) and lexer (validation and matching) based on specs and browser implementations
26 lines (18 loc) • 506 B
JavaScript
;
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;