text: 'use strict';
  
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.stringify = exports.raw = undefined;
  
  var _typeof2 = require('babel-runtime/helpers/typeof');
  
  var _typeof3 = _interopRequireDefault(_typeof2);
  
  var _keys = require('babel-runtime/core-js/object/keys');
  
  var _keys2 = _interopRequireDefault(_keys);
  
  var _config = require('config');
  
  var _config2 = _interopRequireDefault(_config);
  
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  
  var stringifyConfig = function stringifyConfig(config) {
    return function recursive(config, stringified, prevKeys) {
      return (0, _keys2.default)(config).reduce(function (stringified, key) {
        var allKeys = prevKeys.concat(key);
        var allKey = 'soya.config.' + allKeys.join('.');
        if ((0, _typeof3.default)(config[key]) === 'object') {
          stringified[allKey] = config[key];
          return recursive(config[key], stringified, allKeys);
        }
        stringified[allKey] = config[key];
        return stringified;
      }, stringified);
    }(config, {}, []);
  };
  
  var raw = exports.raw = function raw() {
    return {
      soya: {
        config: (0, _keys2.default)(_config2.default).reduce(function (newConfig, key) {
          newConfig[key] = _config2.default[key];
          return newConfig;
        }, {})
      }
    };
  };
  
  var stringify = exports.stringify = function stringify() {
    return stringifyConfig(_config2.default);
  };