function pruneObject()

in src/util/plist-helpers.js [57:77]


function pruneObject (doc, selector, fragment) {
    if (Array.isArray(fragment) && Array.isArray(doc[selector])) {
        let empty = true;

        for (const i in fragment) {
            for (const j in doc[selector]) {
                empty = pruneObject(doc[selector], j, fragment[i]) && empty;
            }
        }

        if (empty) {
            delete doc[selector];
            return true;
        }
    } else if (nodeEqual(doc[selector], fragment)) {
        delete doc[selector];
        return true;
    }

    return false;
}