function flattenObject(target, separator, acc) {
        if (separator === void 0) { separator = '.'; }
        if (acc === void 0) { acc = {}; }
        if ('object' !== typeof target) {
            return acc;
        }
        return optimizatedFlattenObjectTailCall([[target]], separator, acc);
    }
/**
     * Flatten a multi-dimensional object with separators.
     *
     * @typeparam {T extends {}}
     * @param {any} target
     * @param {string} separator
     * @param {T} acc
     * @return Object
     */
Flatten a multi-dimensional object with separators.


Flatten a multi - dimensional object with separators .
function flattenObject(target, separator, acc) {
        if (separator === void 0) { separator = '.'; }
        if (acc === void 0) { acc = {}; }
        if ('object' !== typeof target) {
            return acc;
        }
        return optimizatedFlattenObjectTailCall([[target]], separator, acc);
    }
function flattenObject ( target , separator , acc ) { if ( separator === void 0 ) { separator = '.' ; } if ( acc === void 0 ) { acc = { } ; } if ( 'object' !== typeof target ) { return acc ; } return optimizatedFlattenObjectTailCall ( [ [ target ] ] , separator , acc ) ; }
Flatten a multi-dimensional object with separators.
Flatten a multi - dimensional object with separators .