src/preferences/PreferencesBase.js
function (data, id, value, context, layerID) {
            if (!layerID) {
                layerID = this.getPreferenceLocation(data, id, context);
            }

            if (!layerID) {
                return false;
            }

            var section = data[layerID];
            if (!section) {
                data[layerID] = section = {};
            }
            if (!_.isEqual(section[id], value)) {
                if (value === undefined) {
                    delete section[id];
                } else {
                    section[id] = _.cloneDeep(value);
                }
                return true;
            }
            return false;
        }
function (data, id, value, context, layerID) {
            if (!layerID) {
                layerID = this.getPreferenceLocation(data, id, context);
            }

            if (!layerID) {
                return false;
            }

            var section = data[layerID];
            if (!section) {
                data[layerID] = section = {};
            }
            if (!_.isEqual(section[id], value)) {
                if (value === undefined) {
                    delete section[id];
                } else {
                    section[id] = _.cloneDeep(value);
                }
                return true;
            }
            return false;
        }
function ( data , id , value , context , layerID ) { if ( ! layerID ) { layerID = this . getPreferenceLocation ( data , id , context ) ; } if ( ! layerID ) { return false ; } var section = data [ layerID ] ; if ( ! section ) { data [ layerID ] = section = { } ; } if ( ! _ . isEqual ( section [ id ] , value ) ) { if ( value === undefined ) { delete section [ id ] ; } else { section [ id ] = _ . cloneDeep ( value ) ; } return true ; } return false ; }
Sets the preference value in the given data structure for the layerID provided. If no
layerID is provided, then the current layer is used. If a layerID is provided and it
does not exist, it will be created.

This function returns whether or not a value was set.

@param {Object} data the preference data from the Scope
@param {string} id preference ID to look up
@param {Object} value new value to assign to the preference
@param {Object} context Object with filename that will be compared to the globs
@param {string=} layerID Optional: glob pattern for a specific section to set the value in
@return {boolean} true if the value was set
Sets the preference value in the given data structure for the layerID provided . If no layerID is provided then the current layer is used . If a layerID is provided and it does not exist it will be created .