aboutsummaryrefslogtreecommitdiff
path: root/node_modules/memory-fs/lib/join.js
blob: 2814aa90d197bf9f06db417a40a7f9dfbe1576a5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var normalize = require("./normalize");

var absoluteWinRegExp = /^[A-Z]:([\\\/]|$)/i;
var absoluteNixRegExp = /^\//i;

module.exports = function join(path, request) {
	if(!request) return normalize(path);
	if(absoluteWinRegExp.test(request)) return normalize(request.replace(/\//g, "\\"));
	if(absoluteNixRegExp.test(request)) return normalize(request);
	if(path == "/") return normalize(path + request);
	if(absoluteWinRegExp.test(path)) return normalize(path.replace(/\//g, "\\") + "\\" + request.replace(/\//g, "\\"));
	if(absoluteNixRegExp.test(path)) return normalize(path + "/" + request);
	return normalize(path + "/" + request);
};