| 12345678910111213141516171819202122232425262728293031323334353637383940414243 | '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;
 |