HEX
Server: Apache/2.4.61 (Ubuntu)
System: Linux hosting106 7.0.12-1-pve #1 SMP PREEMPT_DYNAMIC PMX 7.0.12-1 (2026-06-09T21:07Z) x86_64
User: clinicadentalargarate.com (1193)
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: //home/cursos.ril.es/node_modules/laravel-elixir/node_modules/parse-filepath/index.js
'use strict';

var path = require('path');
var endsWith = require('path-ends-with');

module.exports = function parse(fp) {
  if (typeof fp !== 'string') {
    throw new Error('parse-filepath expects a string.');
  }

  fp = fp.replace(/\\/g, '/');
  var dirname = path.dirname(fp);
  var basename = path.basename(fp);

  if (endsWith(fp, '/')) {
    dirname = fp;
    basename = '';
  }

  if (dirname !== '.') {
    basename = fp.replace(dirname, '');
  }

  var name = basename.split('.')[0];
  var ext = basename.replace(name, '');

  if (isConfigFile(fp)) {
    basename = path.basename(fp);
    var segs = basename.split('.').filter(Boolean);
    name = segs[0];
    ext = segs[1];
  } else if (isDotfile(fp)) {
    basename = ext;
    name = basename.slice(1);
    ext = '';
  }

  // create an array of extensions. useful
  // if more than one extension exists
  var segments = ext.split('.').filter(Boolean);
  if (ext && ext[0] !== '.') {
    ext = '.' + ext;
  }

  var parts = {
    dirname: path.normalize(dirname),
    basename: strip(basename),
    name: strip(name),
    extname: ext,
    extSegments: segments.map(function(ext) {
      if (ext && ext[0] !== '.') {
        ext = '.' + ext;
      }
      return ext;
    })
  };
  return parts;
};

/**
 * Strip leading and trailing slashes
 */

function strip(str) {
  return str.replace(/^[\/]+|[\/]+$/g, '');
}

/**
 * Very naive guess at whether or not the file
 * is a dotfile. It may be a directory as well.
 */

function isDotfile(fp) {
  return /^\./.test(path.basename(fp));
}

function isConfigFile(fp) {
  if(isDotfile(fp)) {
    fp = path.basename(fp);
    fp = fp.slice(1);
    return /\./.test(fp);
  }
  return false;
}