UNPKG

@microbitsclub/paywall-solid

Version:
31 lines (30 loc) 844 B
export const stringifyUrl = (config) => { const { proto, domain, path, query } = config; let url = domain ? (proto ?? 'https') + '://' + domain : ''; if (path) { if (typeof path === 'string') { for (const x of path.split('/')) { if (x.length > 0) { url += '/' + x; } } if (path[path.length - 1] === '/') { url += '/'; } } else if (path.length > 0) { url += '/' + path.join('/'); } } let queries = []; for (let k in query) { const v = query[k]; if (v !== undefined) { queries.push(`${k}=${encodeURIComponent(query[k])}`); } } if (queries.length > 0) { url += '?' + queries.join('&'); } return url; };