33 lines · 1.1 KB · TypeScript
RawDownload
const PAIRING_TOKEN_PARAM = "token"; function readHashParams(url: URL): URLSearchParams {  return new URLSearchParams(url.hash.startsWith("#") ? url.hash.slice(1) : url.hash);} export function getPairingTokenFromUrl(url: URL): string | null {  const hashToken = readHashParams(url).get(PAIRING_TOKEN_PARAM)?.trim() ?? "";  if (hashToken.length > 0) {    return hashToken;  }   const searchToken = url.searchParams.get(PAIRING_TOKEN_PARAM)?.trim() ?? "";  return searchToken.length > 0 ? searchToken : null;} export function stripPairingTokenFromUrl(url: URL): URL {  const next = new URL(url.toString());  const hashParams = readHashParams(next);  if (hashParams.has(PAIRING_TOKEN_PARAM)) {    hashParams.delete(PAIRING_TOKEN_PARAM);    next.hash = hashParams.toString();  }  next.searchParams.delete(PAIRING_TOKEN_PARAM);  return next;} export function setPairingTokenOnUrl(url: URL, credential: string): URL {  const next = new URL(url.toString());  next.searchParams.delete(PAIRING_TOKEN_PARAM);  next.hash = new URLSearchParams([[PAIRING_TOKEN_PARAM, credential]]).toString();  return next;}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t