UNPKG

url-joiner

Version:
43 lines (32 loc) 1.38 kB
"use strict"; 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;