docs: def output_format_module(self, packages, esc_path=False):
          """
          Create out with child first position
          """
  
          def create_ordered_list(packages_):
              """
              Recursive for package.packages
              """
              list_ = []
              for _pkg_name in packages_:
                  _pkg = packages_[_pkg_name]
                  if _pkg and _pkg.packages:
                      list_.extend(create_ordered_list(_pkg.packages))
                  if _pkg:
                      _pkg_params = _pkg.get_params(self._columns, True)
                      _res_item = {}
                      for item in self._output_config['columns']:
                          name = item['name'].format(OutFormat(item['column']))
                          value = _pkg_params.get(item['column'], '')
                          if not isinstance(value, (list, dict, tuple)):
                              try:
                                  value = item['value'].format(
                                      OutFormat(value, (item['column'] == 'path') if esc_path else False))
                              except Exception:
                                  value = ''
                          # TODO: implement this:
                          # if not value:
                          #     try:
                          #         value = item['value'].format(OutFormat(_pkg.get_params('', True)))
                          #     except Exception as e:
                          #         pass
                          _res_item[name] = value
                      list_.append(_res_item)
              return list_
  
          result_list = create_ordered_list(packages, )
  
          if self._output_config['type'] == LIST:
              return result_list
  
          result = OrderedDict()
          for item in result_list:
              # TODO: Error handling
              name = item[self._output_config['key']]
              if self._output_config['value']:
                  value = item[self._output_config['value']]
              else:
                  value = OrderedDict([(k, v) for k, v in item.items() if k != self._output_config['key']])
  
              result[name] = value
  
          return result