HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux wordpress-ubuntu-s-2vcpu-4gb-fra1-01 5.4.0-169-generic #187-Ubuntu SMP Thu Nov 23 14:52:28 UTC 2023 x86_64
User: root (0)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/zaklada/html/node_modules/rcloader/index.js
module.exports = RcLoader;

var path = require('path');
var assign = require('lodash.assign');
var isObject = require('lodash.isobject');
var merge = require('lodash.merge');
var RcFinder = require('rcfinder');

function RcLoader(name, userConfig, finderConfig) {
  if (!(this instanceof RcLoader))
    return new RcLoader(name, userConfig, finderConfig);

  if (!name)
    throw new TypeError('Specify a name for your config files');

  finderConfig = isObject(finderConfig) ? finderConfig : {};

  var config = {};
  var configPending = false;
  var lookup = userConfig && userConfig.lookup !== void 0 ? !!userConfig.lookup : true;
  var finder = new RcFinder(name, finderConfig);

  if (typeof userConfig === 'string') {
    lookup = false;
    config.defaultFile = userConfig;
  } else {
    assign(config, userConfig || {});
  }

  var defaultFileGiven = (config.defaultFile !== undefined);
  if (defaultFileGiven) {
    if (finder.canLoadSync) {
      assign(config, finder.get(config.defaultFile));
    } else {
      // push callbacks here that need to wait for config to load
      configPending = [];
      // force the async loader
      finder.get(config.defaultFile, function (err, defaults) {
        if (err) throw err;
        assign(config, defaults);

        // clear the configPending queue
        var cbs = configPending;
        configPending = null;
        cbs.forEach(function (cb) { cb(); });
      });
    }
  }

  // these shouldn't be a part of the final config
  delete config.defaultFile;
  delete config.lookup;

  // get the config for a file
  this.for = function (filename, cb) {
    var sync = typeof cb !== 'function';

    function respond(err, configFile) {
      if (err && !sync) return cb(err);

      // the config has not loaded yet, delay our response
      // until it is
      if (!sync && configPending) {
        return configPending.push(function () {
          respond(err, configFile);
        });
      }

      // merge these into a fresh object to ensure that configFile
      // is never the same object.
      if (defaultFileGiven) {
        configFile = merge({}, config, configFile || {});
      } else {
        configFile = merge({}, configFile || {}, config);
      }

      if (sync) return configFile;
      cb(void 0, configFile);
    }

    if (!lookup) {
      if (sync) return respond();
      return process.nextTick(respond);
    }

    if (sync) return respond(null, finder.find(path.dirname(filename)));
    finder.find(path.dirname(filename), respond);
  };

}