Blame view

node_modules/csso/lib/utils/clone.js 530 Bytes
aaac7fed   liuqimichale   add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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;
  };