@clerk/shared
Version:
Internal package utils used by the Clerk SDKs
1 lines • 1.79 kB
Source Map (JSON)
{"version":3,"file":"queryStateParams.mjs","names":[],"sources":["../../../src/internal/clerk-js/queryStateParams.ts"],"sourcesContent":["import { CLERK_MODAL_STATE } from './constants';\nimport { encodeB64 } from './encoders';\nimport { getClerkQueryParam } from './queryParams';\n\nexport const readStateParam = () => {\n const urlClerkState = getClerkQueryParam(CLERK_MODAL_STATE) ?? '';\n\n return urlClerkState ? JSON.parse(atob(urlClerkState)) : null;\n};\n\ntype SerializeAndAppendModalStateProps = {\n url: string;\n startPath?: string;\n currentPath?: string;\n componentName: string;\n socialProvider?: string;\n};\n\nexport const appendModalState = ({\n url,\n startPath = '/user',\n currentPath = '',\n componentName,\n socialProvider = '',\n}: SerializeAndAppendModalStateProps) => {\n const regexPattern = /CLERK-ROUTER\\/VIRTUAL\\/.*\\//;\n\n const redirectParams = {\n path: currentPath.replace(regexPattern, '') || '',\n componentName,\n startPath,\n socialProvider,\n };\n\n const encodedRedirectParams = encodeB64(JSON.stringify(redirectParams));\n\n const urlWithParams = new URL(url);\n const searchParams = urlWithParams.searchParams;\n\n searchParams.set(CLERK_MODAL_STATE, encodedRedirectParams);\n\n urlWithParams.search = searchParams.toString();\n\n return urlWithParams.toString();\n};\n"],"mappings":";;;;;AAIA,MAAa,uBAAuB;CAClC,MAAM,gBAAgB,wCAAoC,KAAK;CAE/D,OAAO,gBAAgB,KAAK,MAAM,KAAK,aAAa,CAAC,IAAI;AAC3D;AAUA,MAAa,oBAAoB,EAC/B,KACA,YAAY,SACZ,cAAc,IACd,eACA,iBAAiB,SACsB;CAGvC,MAAM,iBAAiB;EACrB,MAAM,YAAY,QAAQ,+BAAc,EAAE,KAAK;EAC/C;EACA;EACA;CACF;CAEA,MAAM,wBAAwB,UAAU,KAAK,UAAU,cAAc,CAAC;CAEtE,MAAM,gBAAgB,IAAI,IAAI,GAAG;CACjC,MAAM,eAAe,cAAc;CAEnC,aAAa,IAAI,mBAAmB,qBAAqB;CAEzD,cAAc,SAAS,aAAa,SAAS;CAE7C,OAAO,cAAc,SAAS;AAChC"}