code: function dotFlatten(object, optSep) {
    let flattenedMap = {};
  
    if (!object) {
      throw new Error('`object` should be a proper Object non null nor undefined.');
    }
    let sep = optSep || '.';
  
    dotFlattenFn(object, sep, flattenedMap);
    return flattenedMap;
  }
docs: Flattens an object tree down to an object of only one level with property
  names with the dotted full path to the leave data.
  
  Ex: { 'a.b.c.d': 23, 'a.b.c.e': 54 }
  
  Usage: `dotFlatten(object)`
  Usage: `dotFlatten(object, ',')`
  
  @param  {Object} object            - The object to process.
  @param  {String} [optSep]          - The separator between nested properties. Default '.'.
  @return {Object}