From da20e74bf93e51abb390201236603852f4cc2408 Mon Sep 17 00:00:00 2001 From: janniks Date: Mon, 30 Jan 2023 18:13:49 +0100 Subject: [PATCH] refactor: remove query-string dependency --- package-lock.json | 4 +--- packages/auth/package.json | 3 +-- packages/auth/src/provider.ts | 16 ++++------------ packages/auth/src/userSession.ts | 10 ++++------ 4 files changed, 10 insertions(+), 23 deletions(-) diff --git a/package-lock.json b/package-lock.json index 01f2d7a2..383912ff 100644 --- a/package-lock.json +++ b/package-lock.json @@ -25002,8 +25002,7 @@ "@stacks/network": "^6.1.1", "@stacks/profile": "^6.1.1", "cross-fetch": "^3.1.5", - "jsontokens": "^4.0.1", - "query-string": "^6.13.1" + "jsontokens": "^4.0.1" }, "devDependencies": { "process": "^0.11.10", @@ -29952,7 +29951,6 @@ "cross-fetch": "^3.1.5", "jsontokens": "^4.0.1", "process": "^0.11.10", - "query-string": "^6.13.1", "rimraf": "^3.0.2" } }, diff --git a/packages/auth/package.json b/packages/auth/package.json index 49af7c91..b2609095 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -25,8 +25,7 @@ "@stacks/network": "^6.1.1", "@stacks/profile": "^6.1.1", "cross-fetch": "^3.1.5", - "jsontokens": "^4.0.1", - "query-string": "^6.13.1" + "jsontokens": "^4.0.1" }, "devDependencies": { "process": "^0.11.10", diff --git a/packages/auth/src/provider.ts b/packages/auth/src/provider.ts index 6135b9e3..49f79d88 100644 --- a/packages/auth/src/provider.ts +++ b/packages/auth/src/provider.ts @@ -1,4 +1,3 @@ -import * as queryString from 'query-string'; import { decodeToken } from 'jsontokens'; import { BLOCKSTACK_HANDLER, getGlobalObject } from '@stacks/common'; import { createFetchFn, FetchFn } from '@stacks/network'; @@ -10,21 +9,14 @@ import { createFetchFn, FetchFn } from '@stacks/network'; * @private * @ignore */ -export function getAuthRequestFromURL() { +export function getAuthRequestFromURL(): string | null { const location = getGlobalObject('location', { throwIfUnavailable: true, usageDesc: 'getAuthRequestFromURL', }); - if (location?.search) { - const queryDict = queryString.parse(location?.search); - if (queryDict.authRequest) { - return (queryDict.authRequest as string).split(`${BLOCKSTACK_HANDLER}:`).join(''); - } else { - return null; - } - } else { - return null; - } + + const params = new URLSearchParams(location?.search); + return params.get('authRequest')?.replaceAll(`${BLOCKSTACK_HANDLER}:`, '') ?? null; } /** diff --git a/packages/auth/src/userSession.ts b/packages/auth/src/userSession.ts index 4be58b75..9f8eb496 100644 --- a/packages/auth/src/userSession.ts +++ b/packages/auth/src/userSession.ts @@ -23,7 +23,7 @@ import { } from '@stacks/common'; import { extractProfile } from '@stacks/profile'; import { AuthScope, DEFAULT_PROFILE } from './constants'; -import * as queryString from 'query-string'; + import { UserData } from './userData'; import { createFetchFn, FetchFn, StacksMainnet } from '@stacks/network'; import { protocolEchoReplyDetection } from './protocolEchoDetection'; @@ -162,11 +162,9 @@ export class UserSession { throwIfUnavailable: true, usageDesc: 'getAuthResponseToken', })?.search; - if (search) { - const queryDict = queryString.parse(search); - return queryDict.authResponse ? (queryDict.authResponse as string) : ''; - } - return ''; + + const params = new URLSearchParams(search); + return params.get('authResponse') ?? ''; } /**