index.js
function objMapped(callback, thisArg = UNDEFINED) {
    const dst = isArray(this) ? [] : {};
    eachProp.call(this, (value, key, src) => {
        const result = callback.call(thisArg, value, key, src);
        if (result === BREAK) return BREAK;
        if (result !== UNDEFINED) {
            dst[key] = result;
        }
    });
    return dst;
}
function objMapped(callback, thisArg = UNDEFINED) {
    const dst = isArray(this) ? [] : {};
    eachProp.call(this, (value, key, src) => {
        const result = callback.call(thisArg, value, key, src);
        if (result === BREAK) return BREAK;
        if (result !== UNDEFINED) {
            dst[key] = result;
        }
    });
    return dst;
}
function objMapped ( callback , thisArg = UNDEFINED ) { const dst = isArray ( this ) ? [ ] : { } ; eachProp . call ( this , ( value , key , src ) => { const result = callback . call ( thisArg , value , key , src ) ; if ( result === BREAK ) return BREAK ; if ( result !== UNDEFINED ) { dst [ key ] = result ; } } ) ; return dst ; }
map function applied to objects and array's own properties not just indexed contents
results in object or array

@this        array or object
@param callback  function(value,key,collection)
if BREAK returned then breaks out of loop, returned BREAK value ignored
@param thisArg what to use for this for callback
@return {object|array} depending on this passed on call
map function applied to objects and array s own properties not just indexed contents results in object or array