@deepkit/core
Version:
Deepkit core library
20 lines • 858 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.urlJoin = void 0;
function __assignType(fn, args) {
fn.__type = args;
return fn;
}
function removeSlash(v) {
return v.replace(/(^\/+)|(\/+$)/g, '');
}
removeSlash.__type = ['v', 'removeSlash', 'P&2!&/"'];
function urlJoin(...path) {
const leadingSlash = path[0] && path[0] !== '/' && path[0][0] === '/';
const last = path[path.length - 1];
const trailingSlash = last && last !== '/' && last[last.length - 1] === '/';
return (leadingSlash ? '/' : '') + path.filter(__assignType(v => !!v, ['v', '', 'P"2!"/"'])).map(__assignType(v => v === '/' ? '' : removeSlash(v.trim()), ['v', '', 'P"2!"/"'])).join('/') + (trailingSlash ? '/' : '');
}
exports.urlJoin = urlJoin;
urlJoin.__type = ['path', 'urlJoin', 'P&@2!&/"'];
//# sourceMappingURL=url.js.map