// @flow import queryString from "query-string"; export const contextPath = window.ctxPath || ""; export function withContextPath(path: string) { return contextPath + path; } export function withEndingSlash(url: string) { if (url.endsWith("/")) { return url; } return url + "/"; } export function concat(base: string, ...parts: string[]) { let url = base; for ( let p of parts) { url = withEndingSlash(url) + p; } return url; } export function getPageFromMatch(match: any) { let page = parseInt(match.params.page, 10); if (isNaN(page) || !page) { page = 1; } return page; } export function getQueryStringFromLocation(location: any) { return location.search ? queryString.parse(location.search).q : undefined; }