Skip to content

Commit 27d51b2

Browse files
committed
fix: make component prop args optional
fix #15
1 parent 9572561 commit 27d51b2

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

src/runtime/components/Can.vue

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@
22
import type { AuthorizerResponse, BouncerAbility } from '../../utils'
33
import { allows } from '#imports'
44
5+
type PropsArgs = Ability extends { original: (user: any, ...args: infer Args) => AuthorizerResponse } ? Args : never
6+
57
const props = defineProps<{
68
bouncerAbility: Ability
7-
args: Ability extends { original: (user: any, ...args: infer Args) => AuthorizerResponse } ? Args : never
9+
args?: PropsArgs
810
}>()
911
10-
const can = await allows(props.bouncerAbility, ...props.args)
12+
const can = await allows(props.bouncerAbility, ...(props.args ?? [] as unknown as PropsArgs))
1113
</script>
1214

1315
<template>

src/runtime/components/Cannot.vue

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@
22
import type { AuthorizerResponse, BouncerAbility } from '../../utils'
33
import { denies } from '#imports'
44
5+
type PropsArgs = Ability extends { original: (user: any, ...args: infer Args) => AuthorizerResponse } ? Args : never
6+
57
const props = defineProps<{
68
bouncerAbility: Ability
7-
args: Ability extends { original: (user: any, ...args: infer Args) => AuthorizerResponse } ? Args : never
9+
args?: PropsArgs
810
}>()
911
10-
const cannot = await denies(props.bouncerAbility, ...props.args)
12+
const cannot = await denies(props.bouncerAbility, ...(props.args ?? [] as unknown as PropsArgs))
1113
</script>
1214

1315
<template>

0 commit comments

Comments
 (0)