INNER CODE UNIT · TypeScript
buildCanonicalFromPayload
Hash-Studios/Prism · infra/cloudflare/worker/src/index.ts:403
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;
}
if (type === 'user') {
const identifier = firstNonEmptyValue(payload, USER_IDENTIFIER_QUERY_KEYS);
if (identifier.length === 0) {
return null;
}
const canonical = new URL(`https://${DOMAIN}/user/${encodeURIComponent(identifier)}`);
appendPayloadQueryParams(payload, canonical, USER_IDENTIFIER_QUERY_KEYS);
return parseCanonicalFromUrl(canonical)?.canonical ?? null;
}
if (type === 'setup') {