From 401a35f4db9e7f090ad84c2d9e0ce5b465c7e790 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karol=20S=C3=B3jko?= Date: Fri, 21 Oct 2022 10:13:49 +0200 Subject: [PATCH] fix(ui-services): add route type getter --- packages/ui-services/src/Route/RouteParser.ts | 10 +++++++--- packages/ui-services/src/Route/RouteParserInterface.ts | 2 ++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/ui-services/src/Route/RouteParser.ts b/packages/ui-services/src/Route/RouteParser.ts index d33ea2c53..824b35e13 100644 --- a/packages/ui-services/src/Route/RouteParser.ts +++ b/packages/ui-services/src/Route/RouteParser.ts @@ -14,14 +14,18 @@ import { RouteType } from './RouteType' export class RouteParser implements RouteParserInterface { private url: URL private readonly path: string - public readonly type: RouteType + private readonly parsedType: RouteType private readonly searchParams: URLSearchParams constructor(url: string) { this.url = new URL(url) this.path = this.url.pathname this.searchParams = this.url.searchParams - this.type = this.parseTypeFromQueryParameters() + this.parsedType = this.parseTypeFromQueryParameters() + } + + get type(): RouteType { + return this.parsedType } get subscriptionInviteParams(): SubscriptionInviteParams { @@ -66,7 +70,7 @@ export class RouteParser implements RouteParserInterface { } private checkForProperRouteType(type: RouteType): void { - if (this.type !== type) { + if (this.parsedType !== type) { throw new Error('Accessing invalid params') } } diff --git a/packages/ui-services/src/Route/RouteParserInterface.ts b/packages/ui-services/src/Route/RouteParserInterface.ts index adf2e21fa..d28f7a6a2 100644 --- a/packages/ui-services/src/Route/RouteParserInterface.ts +++ b/packages/ui-services/src/Route/RouteParserInterface.ts @@ -3,6 +3,7 @@ import { OnboardingParams } from './Params/OnboardingParams' import { PurchaseParams } from './Params/PurchaseParams' import { SettingsParams } from './Params/SettingsParams' import { SubscriptionInviteParams } from './Params/SubscriptionInviteParams' +import { RouteType } from './RouteType' export interface RouteParserInterface { get demoParams(): DemoParams @@ -10,4 +11,5 @@ export interface RouteParserInterface { get purchaseParams(): PurchaseParams get onboardingParams(): OnboardingParams get subscriptionInviteParams(): SubscriptionInviteParams + get type(): RouteType }