UNPKG

@open-condo/miniapp-utils

Version:

A set of helper functions / components / hooks used to build new condo apps fast

45 lines 1.5 kB
// src/helpers/posthog.ts var POSTHOG_CLOUD_HOST_BASE = "i.posthog.com"; var POSTHOG_CLOUD_HOST_MATCHER = new RegExp(`^(\\w+)\\.${POSTHOG_CLOUD_HOST_BASE.replaceAll(".", "\\.")}$`); function getPosthogEndpoint(posthogDomain, requestedPath) { const posthogURL = new URL(posthogDomain); const cloudMatch = posthogURL.host.match(POSTHOG_CLOUD_HOST_MATCHER); if (cloudMatch && cloudMatch.length > 1) { const region = cloudMatch[1]; if (requestedPath.length && requestedPath[0] === "static") { posthogURL.host = `${region}-assets.${POSTHOG_CLOUD_HOST_BASE}`; posthogURL.pathname = requestedPath.slice(1).join("/"); return posthogURL.toString(); } } posthogURL.pathname = requestedPath.join("/"); return posthogURL.toString(); } function generateRewrites(postHogDomain, routeEndpoint) { const url = new URL(postHogDomain); const match = url.host.match(POSTHOG_CLOUD_HOST_MATCHER); if (match && match.length > 1) { const region = match[1]; return [ { source: `${routeEndpoint}/static/:path*`, destination: `https://${region}-assets.${POSTHOG_CLOUD_HOST_BASE}/static/:path*` }, { source: `${routeEndpoint}/:path*`, destination: `https://${region}.${POSTHOG_CLOUD_HOST_BASE}/:path*` } ]; } return [ { source: `${routeEndpoint}/:path*`, destination: `${postHogDomain}/:path*` } ]; } export { generateRewrites, getPosthogEndpoint }; //# sourceMappingURL=posthog.mjs.map