INNER CODE UNIT · TypeScript
buildCanonicalUrl
Hash-Studios/Prism · infra/cloudflare/worker/src/index.ts:391
function buildCanonicalUrl(body: CreateLinkRequest): URL | null {
if (isNonEmptyString(body.canonical_url)) {
return parseCanonicalUrl(body.canonical_url)?.canonical ?? null;
}
if (body.payload == null) {
return null;
}
return buildCanonicalFromPayload(body.type, body.payload);
}
function buildCanonicalFromPayload(type: LinkType, payload: Record<string, unknown>): URL | null {
if (type === 'share') {
const canonical = new URL(`https://${DOMAIN}/share`);
appendPayloadQueryParams(payload, canonical);
return parseCanonicalFromUrl(canonical)?.canonical ?? null;
}