dist/joint.nowrap.js
function(path, opt) {

        // Once a property is removed from the `attrs` attribute
        // the cellView will recognize a `dirty` flag and rerender itself
        // in order to remove the attribute from SVG element.
        opt = opt || {};
        opt.dirty = true;

        var pathArray = Array.isArray(path) ? path : path.split('/');

        if (pathArray.length === 1) {
            // A top level property
            return this.unset(path, opt);
        }

        // A nested property
        var property = pathArray[0];
        var nestedPath = pathArray.slice(1);
        var propertyValue = joint.util.cloneDeep(this.get(property));

        joint.util.unsetByPath(propertyValue, nestedPath, '/');

        return this.set(property, propertyValue, opt);
    }
function(path, opt) {

        // Once a property is removed from the `attrs` attribute
        // the cellView will recognize a `dirty` flag and rerender itself
        // in order to remove the attribute from SVG element.
        opt = opt || {};
        opt.dirty = true;

        var pathArray = Array.isArray(path) ? path : path.split('/');

        if (pathArray.length === 1) {
            // A top level property
            return this.unset(path, opt);
        }

        // A nested property
        var property = pathArray[0];
        var nestedPath = pathArray.slice(1);
        var propertyValue = joint.util.cloneDeep(this.get(property));

        joint.util.unsetByPath(propertyValue, nestedPath, '/');

        return this.set(property, propertyValue, opt);
    }
function ( path , opt ) { // Once a property is removed from the `attrs` attribute // the cellView will recognize a `dirty` flag and rerender itself // in order to remove the attribute from SVG element. opt = opt || { } ; opt . dirty = true ; var pathArray = Array . isArray ( path ) ? path : path . split ( '/' ) ; if ( pathArray . length === 1 ) { // A top level property return this . unset ( path , opt ) ; } // A nested property var property = pathArray [ 0 ] ; var nestedPath = pathArray . slice ( 1 ) ; var propertyValue = joint . util . cloneDeep ( this . get ( property ) ) ; joint . util . unsetByPath ( propertyValue , nestedPath , '/' ) ; return this . set ( property , propertyValue , opt ) ; }
A convient way to unset nested properties
A convient way to unset nested properties