reduxen
Version:
Redux-first router
57 lines (44 loc) • 1.09 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _stringifyQuery = require("./stringifyQuery.js");
var _stringifyQuery2 = _interopRequireDefault(_stringifyQuery);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var stringifyUrl = function stringifyUrl(_ref) {
var path = _ref.path,
query = _ref.query,
hash = _ref.hash;
var pathPart = void 0;
if (path) {
if (path === "/") {
pathPart = "/";
} else {
if (path.slice(-1) === "/") {
pathPart = path.slice(0, -1);
} else {
pathPart = path;
}
}
} else {
pathPart = "";
}
var queryPart = void 0;
if (query) {
if (Object.keys(query).length) {
queryPart = "?" + (0, _stringifyQuery2.default)(query);
} else {
queryPart = "";
}
} else {
queryPart = "";
}
var hashPart = void 0;
if (hash) {
hashPart = "#" + hash;
} else {
hashPart = "";
}
return [pathPart, queryPart, hashPart].join("");
};
exports.default = stringifyUrl;