HEX
Server: Apache
System: Linux webd004.cluster130.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User: frenchy (106757)
PHP: 7.4.33
Disabled: _dyuweyrj4,_dyuweyrj4r,dl
Upload Files
File: /home/frenchy/www/french-american.org/releases/20210414070604Z/node_modules/globjoin/index.js
'use strict';

var Path = require('path');
var slice = Array.prototype.slice;

function join(/* globs */) {
	var args;

	args = slice.call(arguments, 0);
	return args.reduce(function (result, globs) {
		return _apply(result, function (path) {
			return _apply(globs, function (glob) {
				return _join(path, glob);
			});
		});
	}, '');
}

function _apply(values, fn) {
	if (Array.isArray(values)) {
		return values.reduce(function (result, value) {
			return result.concat(fn(value));
		}, []);
	}
	return fn(values);
}

function _join(path, glob) {
	var negative, positive;

	if (glob[0] === '!') {
		positive = glob.substr(1);
		if (path[0] === '!') {
			negative = '';
		} else {
			negative = '!';
		}
		return negative + Path.join(path, positive);
	}
	return Path.join(path, glob);
}

module.exports = join;