plugins/sigma.plugins.filter/sigma.plugins.filter.js
function deepCopy(o) {
    var copy = Object.create(null);
    for (var i in o) {
      if (typeof o[i] === "object" && o[i] !== null) {
        copy[i] = deepCopy(o[i]);
      }
      else if (typeof o[i] === "function" && o[i] !== null) {
        // clone function:
        eval(" copy[i] = " +  o[i].toString());
        //copy[i] = o[i].bind(_g);
      }

      else
        copy[i] = o[i];
    }
    return copy;
  }
function deepCopy(o) {
    var copy = Object.create(null);
    for (var i in o) {
      if (typeof o[i] === "object" && o[i] !== null) {
        copy[i] = deepCopy(o[i]);
      }
      else if (typeof o[i] === "function" && o[i] !== null) {
        // clone function:
        eval(" copy[i] = " +  o[i].toString());
        //copy[i] = o[i].bind(_g);
      }

      else
        copy[i] = o[i];
    }
    return copy;
  }
function deepCopy ( o ) { var copy = Object . create ( null ) ; for ( var i in o ) { if ( typeof o [ i ] === "object" && o [ i ] !== null ) { copy [ i ] = deepCopy ( o [ i ] ) ; } else if ( typeof o [ i ] === "function" && o [ i ] !== null ) { // clone function: eval ( " copy[i] = " + o [ i ] . toString ( ) ) ; //copy[i] = o[i].bind(_g); } else copy [ i ] = o [ i ] ; } return copy ; }
fast deep copy function
fast deep copy function