From 7f40c40ac566efc2b3adca4fc633704a3c863fd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20S=C3=A4=C3=A4vuori?= Date: Sat, 6 Jan 2024 11:13:18 +0200 Subject: [PATCH] feat: allow passing router to getNextPath --- CHANGES.md | 12 ++++++++++-- README.md | 2 +- package.json | 2 +- src/routes.ts | 12 +++++++++--- 4 files changed, 21 insertions(+), 7 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index f275639..4eab45f 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,9 +1,17 @@ # Changelog +## 0.2.2 (2024-01-05) + +- Feat: allow passing Router instance to `getNextPath`. + +## 0.2.1 (2024-01-05) + +- Fix: package.json is now more Vite -compatible. + ## 0.2.0 (2024-01-05) -- Feat: added `getNextPath` -- Refactor: refactored internals +- Feat: added `getNextPath`. +- Refactor: refactored internals. - Chore: bumped deps. ## 0.1.2 (2023-07-17) diff --git a/README.md b/README.md index 3d34ce7..f1b73a1 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ General utilities for Web development ### Vue -- `getNextPath(): string` - returns the value of `?next` query param or `/` +- `getNextPath(router?: Router): string` - returns the value of `?next` query param or `/` ## Installation diff --git a/package.json b/package.json index 2885e64..2d50458 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@slipmatio/toolbelt", "type": "module", - "version": "0.2.1", + "version": "0.2.2", "main": "dist/toolbelt.umd.cjs", "module": "dist/toolbelt.js", "exports": { diff --git a/src/routes.ts b/src/routes.ts index fcbd89b..6f43965 100644 --- a/src/routes.ts +++ b/src/routes.ts @@ -1,11 +1,17 @@ -import { useRoute } from 'vue-router' +import { useRoute, type Router, type RouteLocationNormalizedLoaded } from 'vue-router' import { isString } from './type-helpers' /** * Helper for figuring our ?next= query param in a safe way. + * Pass the router instance whenever not used directly from script setup block. */ -export function getNextPath(): string { - const route = useRoute() +export function getNextPath(router?: Router): string { + let route: RouteLocationNormalizedLoaded + if (router) { + route = router.currentRoute.value + } else { + route = useRoute() + } let next = '/' if (