dist/index.esm.js
function findAndReplace(target, find, replaceWith, config) {
    if (config === void 0) { config = { onlyPlainObjects: false }; }
    if ((config.onlyPlainObjects === false && !isAnyObject(target)) ||
        (config.onlyPlainObjects === true && !isPlainObject(target))) {
        if (target === find)
            return replaceWith;
        return target;
    }
    return Object.keys(target)
        .reduce(function (carry, key) {
        var val = target[key];
        carry[key] = findAndReplace(val, find, replaceWith, config);
        return carry;
    }, {});
}
function findAndReplace(target, find, replaceWith, config) {
    if (config === void 0) { config = { onlyPlainObjects: false }; }
    if ((config.onlyPlainObjects === false && !isAnyObject(target)) ||
        (config.onlyPlainObjects === true && !isPlainObject(target))) {
        if (target === find)
            return replaceWith;
        return target;
    }
    return Object.keys(target)
        .reduce(function (carry, key) {
        var val = target[key];
        carry[key] = findAndReplace(val, find, replaceWith, config);
        return carry;
    }, {});
}
function findAndReplace ( target , find , replaceWith , config ) { if ( config === void 0 ) { config = { onlyPlainObjects : false } ; } if ( ( config . onlyPlainObjects === false && ! isAnyObject ( target ) ) || ( config . onlyPlainObjects === true && ! isPlainObject ( target ) ) ) { if ( target === find ) return replaceWith ; return target ; } return Object . keys ( target ) . reduce ( function ( carry , key ) { var val = target [ key ] ; carry [ key ] = findAndReplace ( val , find , replaceWith , config ) ; return carry ; } , { } ) ; }
Goes through an object recursively and replaces all occurences of the `find` value with `replaceWith`. Also works no non-objects.

@export
@param {*} target Target can be anything
@param {*} find val to find
@param {*} replaceWith val to replace
@param {IConfig} [config={onlyPlainObjects: false}]
@returns {*} the target with replaced values
Goes through an object recursively and replaces all occurences of the find value with replaceWith . Also works no non - objects .