@@ -103,14 +103,13 @@ type Notifier = {
103103 notify ( ) : void
104104}
105105
106- declare const kind : unique symbol
106+ declare const tag : unique symbol
107107
108108type PropType <
109109 Type ,
110- HasDefaultValue extends Boolean ,
111- Required extends boolean
110+ Kind extends 'optional' | 'optional-with-default' | 'required'
112111> = {
113- readonly [ kind ] : 'PropType'
112+ readonly [ tag ] : 'PropType'
114113}
115114
116115type ComponentOptions = {
@@ -147,14 +146,14 @@ type PropConfig =
147146 }
148147
149148type PropsConfig = {
150- [ key : string ] : PropType < any , any , any >
149+ [ key : string ] : PropType < any , any >
151150}
152151
153152type ExternalPropsOf < PC extends PropsConfig > = Partial <
154153 OmitNevers <
155154 {
156- [ K in keyof PC ] : PC [ K ] extends PropType < infer T , infer D , infer R >
157- ? R extends true
155+ [ K in keyof PC ] : PC [ K ] extends PropType < infer T , infer K >
156+ ? K extends 'required'
158157 ? never
159158 : T
160159 : never
@@ -163,8 +162,8 @@ type ExternalPropsOf<PC extends PropsConfig> = Partial<
163162> &
164163 OmitNevers <
165164 {
166- [ K in keyof PC ] : PC [ K ] extends PropType < infer T , infer D , infer R >
167- ? R extends true
165+ [ K in keyof PC ] : PC [ K ] extends PropType < infer T , infer K >
166+ ? K extends 'required'
168167 ? T
169168 : never
170169 : never
@@ -174,10 +173,10 @@ type ExternalPropsOf<PC extends PropsConfig> = Partial<
174173type InternalPropsOf < PC extends PropsConfig > = Partial <
175174 OmitNevers <
176175 {
177- [ K in keyof PC ] : PC [ K ] extends PropType < infer T , infer D , infer R >
178- ? R extends true
176+ [ K in keyof PC ] : PC [ K ] extends PropType < infer T , infer K >
177+ ? K extends 'required'
179178 ? never
180- : D extends true
179+ : K extends 'optional-with-default'
181180 ? never
182181 : T
183182 : never
@@ -186,10 +185,10 @@ type InternalPropsOf<PC extends PropsConfig> = Partial<
186185> &
187186 OmitNevers <
188187 {
189- [ K in keyof PC ] : PC [ K ] extends PropType < infer T , infer D , infer R >
190- ? R extends true
188+ [ K in keyof PC ] : PC [ K ] extends PropType < infer T , infer K >
189+ ? K extends 'required'
191190 ? T
192- : D extends true
191+ : K extends 'optional-with-default'
193192 ? T
194193 : never
195194 : never
0 commit comments