8000 fix(types): optional Boolean props as default props (#909) · seanpm2001/VueJS_Composition-API@8f88ae6 · GitHub
[go: up one dir, main page]

Skip to content

Commit 8f88ae6

Browse files
fix(types): optional Boolean props as default props (vuejs#909)
1 parent b01f1e4 commit 8f88ae6

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

src/component/componentProps.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,19 @@ export type ExtractPropTypes<O> = O extends object
7676
: { [K in string]: any }
7777

7878
type DefaultKeys<T> = {
79-
[K in keyof T]: T[K] extends { default: any } ? K : never
79+
[K in keyof T]: T[K] extends
80+
| {
81+
default: any
82+
}
83+
| BooleanConstructor
84+
| { type: BooleanConstructor }
85+
? T[K] extends {
86+
type: BooleanConstructor
87+
required: true
88+
}
89+
? never
90+
: K
91+
: never
8092
}[keyof T]
8193

8294
// extract props which defined with default from prop options

0 commit comments

Comments
 (0)
0