From a96241e788e56acedece9125d48d731f4628f3ba Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Sat, 6 Mar 2021 23:52:46 +0100 Subject: [PATCH] core-api: add is*RouteRef helpers Signed-off-by: Patrik Oldsberg --- packages/core-api/src/routing/RouteRef.ts | 30 +++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/packages/core-api/src/routing/RouteRef.ts b/packages/core-api/src/routing/RouteRef.ts index 4a28301173..6eae4f48c0 100644 --- a/packages/core-api/src/routing/RouteRef.ts +++ b/packages/core-api/src/routing/RouteRef.ts @@ -217,3 +217,33 @@ export function createExternalRouteRef< Boolean(options.optional) as Optional, ); } + +export function isRouteRef( + routeRef: + | RouteRef + | SubRouteRef + | ExternalRouteRef, +): routeRef is RouteRef { + return routeRef[routeRefType] === 'absolute'; +} + +export function isSubRouteRef( + routeRef: + | RouteRef + | SubRouteRef + | ExternalRouteRef, +): routeRef is SubRouteRef { + return routeRef[routeRefType] === 'sub'; +} + +export function isExternalRouteRef< + Params extends AnyParams, + Optional extends boolean +>( + routeRef: + | RouteRef + | SubRouteRef + | ExternalRouteRef, +): routeRef is ExternalRouteRef { + return routeRef[routeRefType] === 'external'; +}