app.use(createPinia())
app.use(PiniaColada, {})
-// @ts-expect-error: FIXME: should be doable
-app.use(DataLoaderPlugin, { router })
+app.use(DataLoaderPlugin, {
+ // FIXME: should be doable without `as any`
+ router: router as any,
+})
app.component('RouterLink', RouterLink)
app.component('RouterView', RouterView)
app.use(router)
const route = useRoute()
const router = useRouter()
-route.params.path
+// router.push({
+// name: 'not-found',
+// params: {
+// path: 'yoooo',
+// }
+// })
+// route.params.optionalWhen
console.log('typeof', typeof route.params.active)
console.log('value', route.params.active)
},
other: {
parser: 'bool',
- default: false,
},
active: {
parser: 'bool',
default: -1,
},
+ // optionalWhen: {
+ // parser: 'date',
+ // },
+ //
when: {
parser: 'date',
default: () => new Date(),
}
export const parser = defineParamParser({
- get: (value: string | string[] | null) => {
+ get: value => {
if (!value) {
throw miss()
}
- return Array.isArray(value) ? value.map(toDate) : toDate(value)
+ return Array.isArray(value)
+ ? value.filter((v): v is string => !!v).map(toDate)
+ : toDate(value)
},
set: (value: Date | Date[]) =>
Array.isArray(value) ? value.map(toString) : toString(value),