json-q
Version:
Retrieves values from JSON objects (and JavaScript objects) by css-selector-like query (includes attribute filters and array flattening).
14 lines (12 loc) • 637 B
JavaScript
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 + "\\" + request.replace(/\//g, "\\"));
if(absoluteNixRegExp.test(path)) return normalize(path + "/" + request);
return normalize(path + "/" + request);
};