url-joiner
Version:
Join url, parse and merge url parts
43 lines (32 loc) • 1.38 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.joinPath = exports.joinUrl = exports.getUrlParts = void 0;
var _constants = require("./constants");
var trimPath = function trimPath() {
var path = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
return path.replace(/^\/|\/$/g, "");
};
var getUrlParts = function getUrlParts() {
var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
var parts = url.split(_constants.DELIMITER_URL_PARTS);
var href = parts[0] || "";
var search = parts[1] || "";
return [href, search];
};
exports.getUrlParts = getUrlParts;
var joinUrl = function joinUrl() {
var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "/";
var search = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
return [url, search].filter(Boolean).join(_constants.DELIMITER_URL_PARTS);
};
exports.joinUrl = joinUrl;
var joinPath = function joinPath() {
var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "/";
for (var _len = arguments.length, paths = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
paths[_key - 1] = arguments[_key];
}
return [url].concat(paths).filter(Boolean).map(trimPath).join(_constants.DELIMITER_PATH);
};
exports.joinPath = joinPath;